我有一个项目,我们正在使用邮件提供程序,因为它涉及基于Apache kafka的邮件。协定验证不工作 - 在邮件提供商测试期间未找到注释的方法
消费者方面的maven目标从本地以及Jenkins都能正常工作。
提供者端契约验证失败,詹金斯说“未找到交互的注释方法”。
我的pom.xml的配置如下:
<plugin>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-maven_2.11</artifactId>
<version>3.5.2</version>
<configuration>
<!-- pactBrokerUrl,user name,password and project version required only
for consumer -->
<pactBrokerUrl>localhost</pactBrokerUrl>
<projectVersion>0.0.1</projectVersion>
<!-- service provider required only for producer -->
<serviceProviders>
<!-- <serviceProvider><name>provider</name><verificationType>ANNOTATED_METHOD</verificationType><consumers><consumer><name>consumer</name><pactUrl>pacturl</pactUrl></consumer></consumers></serviceProvider> -->
<serviceProvider>
<name>provider</name>
<verificationType>ANNOTATED_METHOD</verificationType>
<consumers>
<consumer>
<name>consumer</name>
<pactUrl>pacturl</pactUrl>
</consumer>
</consumers>
</serviceProvider>
</serviceProviders>
<classpathElements>
<classpathElement>
src/test/java
</classpathElement>
</classpathElements>
<configuration>
<pact.showStacktrace>true</pact.showStacktrace>
</configuration>
</configuration>
</plugin>
我们正在使用PactRunner.class,并且合同文件中也提到了提供者名称。这里的问题是测试运行正常,并且从我的本地机器运行时获得批注的方法,但是当我们从Jenkins运行时,在pact:verify期间抛出特定错误。 –
我们遇到了同样的问题。您将不得不使用src/test/resources /预先添加pact文件夹值。 –
我们正在使用契约经纪人应用程序,我们的协议集中存储。在这种情况下,我们使用了下面的注释,但仍然是同样的失败。 (提供者) @PactUrl(url = {“http://pacturl/provider-consumer.json”}) –