Должны ли мы вызывать API внутри TestNg DataProviders? - PullRequest
0 голосов
/ 13 сентября 2018

Скажем, у меня есть сценарий, в котором я должен протестировать API GET Something.Чтобы протестировать этот API, мне нужно создать некоторые тестовые данные, используя совершенно не связанные API.Давайте назовем их API данных.

Можно ли вызывать API данных в DataProvider вместо тестового класса?

PS - я ищу в Google ответы и вижу только одну ссылку, которая на самом деле не соответствует действительности.отношение к моему вопросу. как заменить жестко закодированные значения от поставщика данных

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Это зависит от вашего дизайна теста и потребностей.Тест на основе данных используется для повторения одного и того же теста с несколькими наборами данных.Если вы выполняете итерацию одного и того же тестового набора с несколькими наборами данных, то управляемая данными функция является наилучшим решением.Вы можете использовать управляемые данными возможности даже для одного набора данных, но вам следует подумать об альтернативе, используя методы настройки, и выбрать наиболее подходящий.

Например, при использовании расширение QAF TestNG тестирование веб-службы вы также можете иметь фон в BDD и перед методом в Java для настройки данных и использования этих данных в запросе вызова.Например: JAVA:

userRequests("get.sample.call", data);

BDD:

user requests "get.sample.call" with data "${data}"

Если вы не повторяете один и тот же тест для нескольких наборов данных, с помощью qaf вы можете добавить дополнительные meta-data let say test-data-req, который предоставляет ключ запроса для вызова веб-службы для получения данных.В перед вызовом метода testng эти метаданные могут использоваться для вызова веб-службы для заполнения data для контрольного примера.

0 голосов
/ 16 сентября 2018

Да, гораздо лучше получить доступ к вашему API данных внутри DataProvider.

Метод / класс теста не должен содержать никакой логики, связанной с манипулированием данными. Только тестовые шаги.

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