Testng - Можно ли использовать один метод ввода данных для каждого метода тестирования? - PullRequest
0 голосов
/ 08 января 2019

Я понимаю, что testng DataProviders предназначены для предоставления нескольких входных / входных массивов для методов тестирования. Но разве когда-либо нормально иметь только один вход для каждого метода тестирования? Это анти-паттерн?

1 Ответ

0 голосов
/ 10 января 2019

TestNG не дает никаких рекомендаций в отношении того, сколько вводимых данных является минимально необходимым, если нужно использовать @DataProvider.

Но вот общее соглашение, которому следуют пользователи.

Когда заранее известно, что метод @Test будет запущен только с одним набором значений параметров, вам следует попробовать и использовать аннотацию @Parameters, которая получает входные данные из XML-файла набора через тег <parameters> .

Если заранее известно, что метод @Test должен выполняться с более чем одним набором значений параметров, тогда вам следует использовать @DataProvider.

Если заранее неизвестно, будет ли только одно значение параметра или более одного, тогда вы можете просто пойти с @DataProvider.

Преимущество, которое @DataProvider имеет перед @Parameters, состоит в том, что @DataProvider управляемые @Test методы не обязательно должны управляться с помощью набора xml. Вы также можете запускать их как отдельные тесты.

Но когда метод @Test получает значения с помощью аннотации @Parameters, тогда его нужно будет запускать только через набор xml (конечно же, вы можете обойти это, введя параметры с помощью прослушивателя TestNG, но это больше обходного пути, чем решение)

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