2017-04-19 7 views
0

계약 테스트를 위해 Spring Cloud 계약 프레임 워크를 사용하고 싶습니다. 하지만 Spring Cloud Contract는 JavaScript와 JMS를 지원합니까?Spring Cloud Contract는 JavaScript와 JMS를 지원합니까?

이 항목에 대한 정보가 없습니다.

+0

"JavaScript 지원"의 의미는 무엇입니까? 우리는 Spring 통합 또는 Apache Camel을 통해 JMS를 지원합니다. –

+0

FrontEnd와 BackEnd 컴포넌트가 모두있는 microService 아키텍처에서 SpringCloudContract를 사용하려고합니다. FrontEnd 구성 요소는 JavaScript로 작성됩니다. 따라서 SpringCloudContract를 사용하여 계약 구성 요소 테스트를 수행합니다. 우리는 Java, JavaScript, REST, JMS를 사용합니다. – martin

답변

1

JMSspring-integration 또는 Apache Camel을 통해 지원합니다. 나만의 JMS을 작성할 수도 있습니다. 두 개의 콩을 등록하는 것으로 충분합니다.

Javascript 및 non-jvm 언어의 경우. 기본적으로 제공되는 지원은 없지만이를위한 절차가 있습니다. 여기에 워크 플로가 설명되어 있습니다 (소비자가 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"으로 전화 할 수 있습니다. 그런 식으로 응용 프로그램이 시작되면 주어진 위치에서 제공된 스터브가 포함 된 제공된 항아리를 다운로드하십시오. 이제 프론트 엔드 애플리케이션은 생산자의 스텁을 localhost:8090으로 호출 할 수 있습니다.

물론 우리는 복제 및 푸시 프로세스 (https://github.com/spring-cloud/spring-cloud-contract/issues/37) 등을 단순화하려고 노력할 것입니다.하지만 지금은이 두 단계를 수동으로 수행해야합니다.