Поддерживает ли Spring Cloud Contract JavaScript и JMS?

Я хочу начать использовать фреймворк Spring Cloud Contract для тестирования контрактов. Но поддерживает ли Spring Cloud Contract JavaScript и JMS?

Я не нашел никакой информации об этом.


person martin    schedule 19.04.2017    source источник
comment
Не могли бы вы уточнить, что означает поддержка JavaScript? Мы поддерживаем JMS либо через spring-integration, либо через Apache Camel.   -  person Marcin Grzejszczak    schedule 20.04.2017
comment
Мы попробуем использовать SpringCloudContract в архитектуре microService, где у нас есть компоненты FrontEnd и BackEnd. Компоненты FrontEnd написаны на JavaScript. Итак, мы хотим использовать SpringCloudContract для всех наших компонентов для тестирования контракта. Мы используем Java, JavaScript, REST, JMS   -  person martin    schedule 20.04.2017


Ответы (1)


Что касается 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 мы представляем способ работы в многоязычной среде. Достаточно использовать предоставленные образы докеров для запуска контрактных тестов для работающего приложения, а также для запуска исполнителей-заглушек.

person Marcin Grzejszczak    schedule 20.04.2017
comment
Я обновил этот ответ ссылкой на блог, где мы описываем, как мы поддерживаем поток для языков, отличных от jvm. - person Marcin Grzejszczak; 20.04.2018