ПАКТ и селен

Я инженер по автоматизации, и мне было интересно, может ли pact каким-либо образом помочь нам увеличить тестовое покрытие.

Я новичок в PACT, но я подумал, можно ли сгенерировать файл pact с существующими веб-тестами selenium?

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

Наше веб-приложение использует определенный набор API, что также приводит к http get, post и т. Д. Так что в принципе файл pact может быть сгенерирован таким образом.

Это обходит первоначальное намерение PACT, где разработчики потребителей и производителей совместно работают над уточнением контрактов.

Есть предположения?


person jarumski    schedule 03.05.2018    source источник


Ответы (1)


Это не подошло бы для инструмента Пакта. Позвольте мне скопировать / вставить часть информации о передовых методах ниже.

Используйте Pact для изолированных (модульных) тестов

  • как макет (вызовы макетов проверяются после теста), а не заглушка (вызовы заглушек не проверяются). Использование Pact в качестве заглушки противоречит цели использования Pacts.
  • для изолированных тестов (т. е. модульных тестов) класса (ов), который будет отвечать за выполнение HTTP-вызовов из вашего Consumer приложения в ваше Provider приложение, а не для интегрированных тестов всей вашей пользовательской кодовой базы.
  • внимательно для любых функциональных или интегрированных тестов в вашей пользовательской кодовой базе.

Почему?

Если вы используете Pact с точным соответствием для интегрированных тестов, вы свернете с ума. У вас будут очень хрупкие Consumer тесты, поскольку Pact проверяет каждый исходящий путь, узел JSON, параметры запроса и заголовок. Вы также столкнетесь с декартовым взрывом взаимодействий, которые необходимо проверить на стороне Provider. Это увеличит количество времени, которое вы потратите на прохождение Provider тестов, без полезного увеличения охвата тестами.

Pact - это инструмент тестирования контрактов, а не универсальный инструмент для создания заглушек или насмешек. Лучшее использование Pact включает тестирование как можно меньшего количества кода, который не имеет отношения к HTTP-запросу / ответу, насколько это возможно. Благодаря этому ваши тесты будут быстрыми и удобными в обслуживании.

person Beth Skurrie    schedule 03.05.2018