Итак, я прочитал официальные документы JUnit, в которых содержится множество примеров, но (как и во многих других случаях) у меня есть Eclipse, и я пишу свой первый тест JUnit, и я задыхаюсь от какого-то базового дизайна/концептуальные проблемы.
Итак, если мой WidgetUnitTest
тестирует цель с именем Widget
, я предполагаю, что мне нужно будет создать справедливое число Widget
для использования во всех методах тестирования. Должен ли я конструировать эти Widget
в конструкторе WidgetUnitTest
или в методе setUp()
? Должно ли быть отношение 1:1 Widget
к методам тестирования или использовать лучшие методы, чтобы максимально использовать Widget
?
Наконец, насколько гранулярность должна существовать между утверждениями/неудачами и методами тестирования? Пурист может утверждать, что в методе тестирования должны существовать утверждения 1 и только 1, однако в рамках этой парадигмы, если Widget
имеет геттер, называемый getBuzz()
, я получаю 20 различных методов тестирования для getBuzz()
с именами типа
@Test
public void testGetBuzzWhenFooIsNullAndFizzIsNonNegative() { ... }
В отличие от одного метода, который проверяет множество сценариев и содержит множество утверждений:
@Test
public void testGetBuzz() { ... }
Спасибо за понимание некоторых мастеров JUnit!