TestNG не дает никаких рекомендаций в отношении того, сколько вводимых данных является минимально необходимым, если нужно использовать @DataProvider
.
Но вот общее соглашение, которому следуют пользователи.
Когда заранее известно, что метод @Test
будет запущен только с одним набором значений параметров, вам следует попробовать и использовать аннотацию @Parameters
, которая получает входные данные из XML-файла набора через тег <parameters>
.
Если заранее известно, что метод @Test
должен выполняться с более чем одним набором значений параметров, тогда вам следует использовать @DataProvider
.
Если заранее неизвестно, будет ли только одно значение параметра или более одного, тогда вы можете просто пойти с @DataProvider
.
Преимущество, которое @DataProvider
имеет перед @Parameters
, состоит в том, что @DataProvider
управляемые @Test
методы не обязательно должны управляться с помощью набора xml. Вы также можете запускать их как отдельные тесты.
Но когда метод @Test
получает значения с помощью аннотации @Parameters
, тогда его нужно будет запускать только через набор xml (конечно же, вы можете обойти это, введя параметры с помощью прослушивателя TestNG, но это больше обходного пути, чем решение)