Допустим, у меня есть дата провайдер с правильными и неправильными параметрами, обработка части параметров которого должна бросить исключение. Я пишу тест, аннотирую его
и жду, пока тест удачно завершится, получив в ряде случаев ожидаемый эксепшн. Но нет, этого не будет, потому что тест не в каждом случае бросает исключение, а только для неправильных данных. Получается, нужно создавать отдельные тестовые методы для правильных данных и для каждого ожидаемого исключения, сопровождая их отдельными дата провайдерами? Или я все-таки что-то делаю не так?
перед тестовым методом. Мне нравится, что в TestNG можно не писать километры одинакового кода на каждый тестовый случай, как в junit'е, а достаточно лишь перечислить параметры тестового метода в дата провайдере и, кажется, такое расширение аннотации @Test пошло бы фреймворку на пользу.
Юнит тесты это ещё и самодокументирование кода. По хорошо написаным тестам видны требования к классу. Если всё пихать в кучу, как вы хотите - этого не получится))
По-моему, то, что данные лежат отдельно от теста, никак не скрывает требования к классу, зато проверить еще один тестовый случай можно лишь добавив строчку в дата провайдер, а это очень удобно :)