В Java / Eclipse / JUnit я использую две исходные директории (src и test) с одним и тем же деревом.
Если у меня есть src / com / mycompany / what / TestMePlease с методами, достойными тестирования (например, deleteAll (List <?> Stuff), генерирует MyException ), я создаю test / com / mycompany / что угодно / TestMePleaseTest с методами для тестирования различных вариантов использования / сценариев:
@Test
public void deleteAllWithNullInput() { ... }
@Test(expect="MyException.class") // not sure about actual syntax here :-P
public void deleteAllWithEmptyInput() { ... }
@Test
public void deleteAllWithSingleLineInput() { ... }
@Test
public void deleteAllWithMultipleLinesInput() { ... }
Мне проще иметь разные чеки.
Тем не менее, поскольку каждый тест должен быть непротиворечивым, если я хочу, чтобы мой исходный набор данных оставался неизменным, мне иногда приходится, например, создавать материал и удалять его в той же проверке, чтобы гарантировать, что каждый другой тест найдет набор данных нетронутым:
@Test
public void insertAndDelete() {
assertTrue(/*stuff does not exist yet*/);
createStuff();
assertTrue(/*stuff does exist now*/);
deleteStuff();
assertTrue(/*stuff does not exist anymore*/);
}
Не знаю, есть ли более разумные способы сделать это, чтобы сказать вам правду ...