Модульное тестирование ... должно ли оно использоваться здесь? - PullRequest
2 голосов
/ 20 января 2009

Дубликат : https://stackoverflow.com/questions/135651/learning-unit-testing


Я пытаюсь разработать программное обеспечение для моей исследовательской группы для анализа и построения экспериментальных данных. Я хотел бы сделать это там, где это довольно без ошибок. Будет ли это ситуация для модульного тестирования ? Если да, то не могли бы вы указать мне несколько хороших рекомендаций для модульного тестирования?

Ответы [ 3 ]

5 голосов
/ 20 января 2009

Практически любой код является хорошим кандидатом для модульного тестирования; это поможет вам документировать намерения вашего кода и доказать, что ваш код работает как задумано. Это определенно поможет вам найти ошибки перед выпуском кода для остальной части вашей группы. Вы не говорите, какую платформу вы используете, поэтому я не могу рекомендовать среду тестирования, но я могу порекомендовать отличную разработку через тестирование Кент Бека: по примеру общее стартовое место.

1 голос
/ 20 января 2009

По моему опыту, модульные тесты - отличная идея для любой функциональности, которая не связана с пользовательским интерфейсом (например, «это число, отображаемое красным, если это отрицательное значение»), помогая вам находить ошибки как можно раньше. Таким образом, я бы рекомендовал писать модульные тесты всякий раз, когда это возможно (и запускать их автоматически, например, ночью или даже после каждой сборки, чтобы увидеть, что какой-то новый фрагмент кода что-то нарушает).

0 голосов
/ 20 января 2009

Итак, ваше приложение должно анализировать данные? Ну, это звучит как тест, можно написать.

например. если ваши данные в среду всегда дают 5,25 балла.

Вы можете написать тест.

void CheckScoreOnWeds()
{
     Assert.AreEqual( 5.25, DataAnalyzer.CalcScore(Day.Wednesday));     
}

, а затем напишите свой класс

class DataAnalyzer
{
    public double CalcScore( DayOfWeek Day)
    {
          //complex stuff
          return 5.25
    } 
}   

Там у вас есть юнит-тест.

...