Как написать модульный тест для постоянной времени - PullRequest
0 голосов
/ 05 октября 2011

Это может быть очевидным ответом на это, но я не могу понять, как лучше создать модульный тест для следующего:

Assert.AreEqual(27, AgeCalculator.GetAge(new DateTime(1983, 10, 6))); // this test will fail tomorrow
Assert.AreEqual(26, AgeCalculator.GetAge(new DateTime(1984, 11, 14)));
Assert.AreEqual(9, AgeCalculator.GetAge(new DateTime(2002, 05, 7)));
Assert.AreEqual(7, AgeCalculator.GetAge(new DateTime(2003, 11, 03)));
Assert.AreEqual(4, AgeCalculator.GetAge(new DateTime(2007, 05, 10)));

Я создал метод GetAge (), который мне нужентест, чтобы убедиться, что все будущие изменения в этом методе в порядке.

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Взгляните на следующее сообщение в блоге , которое является частью замечательной серии сообщений для проверки на недетерминизм.

1 голос
/ 05 октября 2011

Я бы посмеялся над объектом datetime внутри вашего AgeCalculator, чтобы он всегда использовал одну и ту же дату тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...