Pact-jvm java noob questions

У меня есть несколько вопросов новичков о Pact JVM (Java);

  1. Если ответ поставщика json-структуры уже известен (например, путем запроса api с помощью Postman), возможно ли автоматически преобразовать тело json Postman в файл контракта pact без необходимости запускать метод создания (java) Consumer Fragment или для пример преобразовать его в структуру Java PactDslJsonBody ()?

  2. Должен ли провайдер (spring-boot) быть запущенным (даже если структура ответа json уже известна) при создании файла pact? Было бы хорошо, может быть, избежать необходимости запускать сервер весенней загрузки для каждого создания контракта, особенно если детали контракта уже известны? В частности, при создании множества пакт-контрактов для множества микросервисов одновременно.

  3. Есть ли более продвинутый пример более крупной возвращаемой json-структуры поставщика, чем это очень маленькое тело json, найденное в примере руководства;
    [1] http://the-creative-tester.github.io/Java-Consumer-Driven-Contract-Testing/ Кроме того, это было бы хорошо, если бы можно было поделиться этим дополнительным примером, который проверяет существование только подмножества возвращаемой структуры, поскольку мы получили много случайных ответов.

  4. Может ли кто-нибудь поделиться pact verify java code example pact jvm verify to a online https (в отличие от http) rest-service, например, google, facebook или аналогичный провайдер? (или, например, это: [2] https://jsonplaceholder.typicode.com/posts)

  5. В приведенном выше примере [1] я получил много ошибок компиляции java. Существуют ли какие-либо уровни версии пакта (и весны), которые с меньшей вероятностью будут несовместимы с версиями фреймворка Java Spring?

Спасибо за ваше время!


person zombieboy    schedule 12.10.2017    source источник


Ответы (2)


Привет, пожалуйста, найдите ответ ниже:

1) В настоящее время такой функции нет. Потребительский фрагмент в основном предназначен для определения json, поэтому пропускать этот шаг не имеет смысла.

2) Для создания файла pact используется Pact Mock Server. Так что вам не нужны настоящие услуги, чтобы работать. Служба должна работать только на этапе проверки.

3,4,5) Версия играет важную роль, поскольку этот фреймворк активно развивается. Что касается обработки сложных json-структур, существует довольно много примеров, демонстрирующих использование Pact DSL. Вы можете использовать их для создания структуры json вашего сервиса.
https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit#dsl-matching-methods

person PaChSu    schedule 13.10.2017

Для 3), посмотрите, поможет ли вам эта ссылка - http://www.briandupreez.net/2017/03/consumer-driven-testing-with-pact.html А вот примеры от автора pact-jvm - https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples.

person ljs    schedule 17.10.2017