Я пишу модульные тесты для python некоторое время, используя py.test (который, кстати, я рекомендую).Тесты JUnit для неудачных случаев
Теперь я делаю это на java, используя JUnit4. Интересное о модульном тестировании - это проверка того, как работает код, когда не все идет так, как ожидалось (неожиданные данные, возвращаемые веб-сервисом, недопустимые входные данные ...), на python у меня было два теста на каждую функцию.
- Первый тест проверит, как код ведет себя, когда все работает, как ожидалось
- Второй тест будет имитировать все виды потенциальных проблем, проблем в сети, данные грязные/неожиданные/недействительные отзывы и так далее.
Обычно я называю их test_foo() и test_foo_ko(), конечно, java будет использовать camelCase.
Вопрос в том, должен ли я сконцентрировать все случаи на кусок кода в одном тесте, должен ли я разделить их пополам, как я это делал на python, или мне нужно сделать тест для каждого случая ?
+1 Для того, чтобы дать мне повод разбить соглашение camelCase, которое на самом деле имеет смысл :) –