Pact-JVM Java вопросы Noob
У меня есть несколько вопросов о Pact JVM (Java);
Если ответ структуры json провайдеров уже известен (например, путем запроса API с помощью Postman), можно ли автоматически преобразовать тело json Postman в файл контракта пакта без необходимости запуска метода создания (java) Consumer Fragment или для пример преобразовать его в структуру Java PactDslJsonBody()?
Нужно ли запускать провайдер (spring-boot) (даже если структура ответа json уже известна) при создании файла pact? Было бы хорошо, может быть, избежать необходимости запуска Spring-Boot-сервера для каждого создания контракта, особенно если детали контракта уже известны? Особенно, если вы заключаете много пактов по многим микросервисам одновременно.
Существует ли более продвинутый пример структуры json с большим возвращаемым провайдером, чем это очень маленькое тело json, найденное в учебном примере;
[1] http://the-creative-tester.github.io/Java-Consumer-Driven-Contract-Testing/ Кроме того, было бы хорошо, если бы этот дополнительный пример можно было использовать совместно, проверяя только подмножество возвращаемой структуры существует, так как мы получили много случайных ответов.Может ли кто-нибудь поделиться примером pact-проверки java-кода pact jvm verify для онлайн-сервиса https (в отличие от http), например, google, facebook или аналогичного провайдера? (или, например, это: [2] https://jsonplaceholder.typicode.com/posts)
Я получил много ошибок компиляции Java с приведенным выше примером [1]. Есть ли какой-либо уровень версии pact (и spring), который с меньшей вероятностью будет несовместим с версиями Java-фреймворка Spring?
Спасибо за ваше время!
2 ответа
Для 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.
Привет, пожалуйста, найдите ответ ниже:
1) В настоящее время такой функциональности нет. Фрагмент Consumer предназначен для определения 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