在pact-jvm-provider-spring_2.12中将验证结果发布到pact代理不起作用

时间:2018-11-27 07:07:16

标签: spring spring-boot pact

我正在尝试将验证结果与pvm for jvm / spring一起发布到pact代理。 我正在使用junit4。 执行并通过了测试,将验证报告打印到控制台/添加了json文件,但未将结果发布到pact代理。

在pom.xml中:

<dependency>
    <groupId>au.com.dius</groupId>
    <artifactId>pact-jvm-provider-spring_2.12</artifactId>
    <version>3.5.24</version>
</dependency>

在TestContract.class中:

@RunWith(SpringRestPactRunner.class)
@Provider("prov_test")
@PactBroker(host="192.168.132.220",port="80")
@VerificationReports({"console", "json"})
@SpringBootTest(
    properties={
        "pact.provider.version=1.0.1",
        "pact.verifier.publishResults=true"
    },
    webEnvironment = SpringBootTest.webEnvironment.DEFINED_PORT
)
public class TestContract {
...
...
}

在输出中,我得到警告:

Skipping publishing of verification results (pact.verifier.publishResults is not set to 'true')

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我们是junit5,必须在@BeforeEach中对其进行设置才能使其正常工作:

    void setupTestTarget(PactVerificationContext context) {
        context.setTarget(new HttpTestTarget("localhost", port, "/"));
        System.setProperty("pact.verifier.publishResults", "true");
        System.setProperty("pact.provider.version", buildVersion);
    }

答案 1 :(得分:0)

pact.verifier.publishResults=true更改为pact.verifier.publishResults='true'

查看此github thread