ПАКТ и селен - PullRequest
       12

ПАКТ и селен

0 голосов
/ 03 мая 2018

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

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

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

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

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

Есть мысли?

1 Ответ

0 голосов
/ 03 мая 2018

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

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

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

Почему?

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

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

...