Я хочу начать использовать фреймворк Spring Cloud Contract для тестирования контрактов. Но поддерживает ли Spring Cloud Contract JavaScript и JMS?
Я не нашел никакой информации об этом.
Я хочу начать использовать фреймворк Spring Cloud Contract для тестирования контрактов. Но поддерживает ли Spring Cloud Contract JavaScript и JMS?
Я не нашел никакой информации об этом.
Что касается JMS
, мы поддерживаем его через spring-integration
или Apache Camel
. Вы также можете написать свою собственную поддержку JMS
. Достаточно зарегистрировать пару бинов.
Что касается Javascript и других языков. Готовой поддержки нет, но у нас есть процесс для этого. Рабочий процесс описан здесь (в этих случаях потребителем является приложение Java, но в следующем разделе я опишу, чем будет отличаться процесс) — https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_common_repo_with_contracts или https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_step_by_step_guide_to_cdc. Мы постараемся, очевидно, упростить процесс, но в настоящее время необходимо выполнить кучу ручных задач (хотя и не очень утомительных).
Потребитель может очень легко загрузить и запустить заглушки. Просто клонируйте https://github.com/spring-cloud-samples/stub-runner-boot, создайте его и вставьте толстую банку в свой Nexus/Artifactory. Это приложение будет использоваться потребителями для автоматической загрузки заглушек и их локального запуска. Как потребитель вы можете позвонить java -jar stub-runner-boot --stubrunner.ids="com.example.groupid:artifactid:classifier:version:8090" --stubrunner.repositoryRoot="http://localhost:8081/artifactory/libs-release-local"
. Таким образом, приложение запустится, загрузите предоставленный jar с заглушками с указанного адреса, где находится ваш артефакт. Теперь ваше клиентское приложение может вызывать заглушки производителя по адресу localhost:8090
.
Конечно, мы постараемся упростить процесс клонирования и отправки (https://github.com/spring-cloud/spring-cloud-contract/issues/37) и т. д., но пока вам нужно выполнить эти 2 шага вручную.
ОБНОВИТЬ:
С этой статьей https://spring.io/blog/2018/02/13/spring-cloud-contract-in-a-polyglot-world мы представляем способ работы в многоязычной среде. Достаточно использовать предоставленные образы докеров для запуска контрактных тестов для работающего приложения, а также для запуска исполнителей-заглушек.