我一直在使用Spring Cloud Contract来测试Producer Side。现在,我想将stub.jar文件上传到nexus,所以我的同事可以针对我的制作人编写一些集成测试。我发现Spring文档难以理解。
<!-- First disable the default jar setup in the properties section-->
<!-- we don't want the verifier to do a jar for us -->
<spring.cloud.contract.verifier.skip>true</spring.cloud.contract.verifier.skip>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>stubs</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/java</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>**com/example/model/*.*</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/classes</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>**com/example/model/*.*</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/snippets/stubs</directory>
<outputDirectory>META-INF/${project.groupId}/${project.artifactId}/${project.version}/mappings</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<directory>${basedir}/src/test/resources/contracts</directory>
<outputDirectory>META-INF/${project.groupId}/${project.artifactId}/${project.version}/contracts</outputDirectory>
<includes>
<include>**/*.groovy</include>
</includes>
</fileSet>
</fileSets>
答案 0 :(得分:0)
我一直在使用Spring Cloud Contract来测试Producer Side。现在,我想将stub.jar文件上传到nexus,所以我的同事可以针对我的制作人编写一些集成测试。
如果您使用DSL,那么您无需做任何事情。只做./mvnw deploy
我们将生成胖罐和存根罐。
我发现Spring文档难以理解。
这不是真的具体吗?究竟有什么难以理解的?
我添加&#34;跳过&#34;线到pom,我发现存根json永远不会生成。
哪条skip
行?如果您添加<spring.cloud.contract.verifier.jar.skip>false</spring.cloud.contract.verifier.jar.skip>
,我们将仅禁用JAR创建。
我使用的是Spring Cloud Contract 1.2.4,我认为只有&#34; stub&#34;目标中的文件夹,而不是&#34;片段/存根&#34;。
你甚至使用Rest Docs吗?你从哪里得到了片段?从这里https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_publishing_stubs_as_jars?如果您通过代码段阅读了该文字,则会看到For both Maven and Gradle, the setup comes ready to work. However, you can customize it if you want to.
。如果您按照文档的逐步部分进行操作,我们将描述整个最基本的流程。此外还有多个教程,包括一个非常彻底的教程http://cloud-samples.spring.io/spring-cloud-contract-samples/workshops.html
stub.jar中Stub Runner运行它需要哪些文件?
我们在文档中对此进行了描述。如果要使用类路径映射,请阅读本节https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_classpath_scanning。否则,我们解压缩并浏览我们可以解析的任何WireMock Json文件。
这里有一个手动创建存根jar的工作示例 - https://github.com/spring-cloud-samples/spring-cloud-contract-samples/tree/master/producer_with_restdocs。我认为您应该从头开始阅读文档并按照教程进行操作。或者告诉我们哪些文件不清楚,让您感到困惑。