Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как задать набор тестовых данных для метода


Автор: Stas123 3.2.2012, 15:26
Создал unit test для метода и возник вопрос, как задать набор тестовых данных для него? Чтобы тест брал первый набор данных, прогонял их через метод, потом второй и так все. Чтобы не надо было самому при тесте каждый раз их вручную править.

Автор: Gluttton 3.2.2012, 16:59
Цитата(Stas123 @  3.2.2012,  15:26 Найти цитируемый пост)
Чтобы тест брал первый набор данных, прогонял их через метод, потом второй и так все.

Я так понимаю, что для этого прийдется генерировать данные самому. Делать это можно либо по случайному закону, либо с заданой закономерностью. В обеих случаях в тестах прийдется повторять реализацию метода.
Например сгенерируем данные для метода вычисляющего сумму (прошу прощение за псевдокод):
Код

for (int i = 0; i < CountOfTest; ++i) {
    int correctResult = i + i;
    ASSERT_EQ (SomeObject.Sum (i, i),  correctResult);
}
...
int Sum (int a, int b)
{
    return a + b;
}


Т.е. вычисляя значение correctResult мы повторяем код тестируемого метода.
Т.о. это наврятли удобно и правильно при TDD, но это может оказаться полезным при покрытии легаси-кода перед рефакторингом.

Автор: jonie 4.2.2012, 12:36
в MSTest есть возможность считать данные из баы или xml файла.

Автор: Stas123 8.2.2012, 14:35
Не совсем то, что я имел ввиду.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)