我用Spring创建了一个REST服务。现在我想使用pact和JUnit5来测试消费者-提供者-通信。我已经有一个正在运行的pact-broker(来自https://github.com/jaimeniswonger/pact-broker-openshift)。消费者测试工作良好,并公布了协议。provider-test加载这些并尝试验证它们。但测试仅在验证成功时才上载结果。我尝试用surefire和FailSafe运行测试。
测试的代码:
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = "server.port=12223")
@Provider("Provider")
@PactBroker
public class ProviderPactTest {
@BeforeEach
void setupTestTarget(PactVerificationContext context) {
context.setTarget((new HttpsTestTarget("localhost", 12223, "/", true)));
}
@TestTemplate
@ExtendWith(PactVerificationInvocationContextProvider.class)
void pactVerificationTestTemplate(PactVerificationContext context) {
context.verifyInteraction();
}
@State({ "state1" })
public void doNothing() {
}
}
pact broker属性在POM中定义:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<systemPropertyVariables>
<pact.provider.version>${project.version}</pact.provider.version>
<pact.verifier.publishResults>true</pact.verifier.publishResults>
<pact.verification.reports>json</pact.verification.reports>
<pactbroker.tags>TAG</pactbroker.tags>
<pactbroker.host>pact-broker.url.com</pactbroker.host>
<pactbroker.port>80</pactbroker.port>
</systemPropertyVariables>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit-platform.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</plugin>
是否可以将测试配置为通知pact-broker验证失败?
这似乎是一个缺陷。请您在https://github.com/dius/pact-jvm存储库中提出它好吗?
我已经使用GitHub有一段时间了,我对,和都很好,到目前为止没有任何问题。突然我有一个错误,说: 致命:身份验证失败 在终端中,我克隆了一个存储库,处理了一个文件,然后使用将文件添加到提交日志中,当我执行时,它工作得很好。最后,要求输入用户名和密码。我把它们正确地放进去,每次我这样做,它都会说同样的错误。 这个问题的原因是什么,我该如何解决? 是:
我使用Github已经有一段时间了,使用、和都很好,到目前为止没有任何问题。突然我有一个错误说: 致命:身份验证失败 在终端中,我克隆了一个存储库,处理了一个文件,然后使用将文件添加到提交日志中,当我执行时,它工作得很好。最后,询问用户名和密码。我把那些正确地放进去,每次我这样做,它说同样的错误。 有没有人知道这个问题的原因是什么,我该怎么修复它? 的内容是:
我正在使用Pact进行消费者驱动的合同测试。在我的usecase中,我的消费者“some-market-service-consumer”正在使用提供者“market-service”。在某个市场服务消费者处“产生”的合同如下所示: 在provider-site上,我正在使用Pact-Provider-Verifier-Docker'。以下是我的测试结果: 看起来,好像测试工作良好-“电话”被测试
问题内容: 我有基于gradle的带有junit测试的Java项目,我正在为其构建CI工作。我使用松弛Slack Notification插件成功地将松弛与Jenkins集成在一起。 Jenkins版本:2.173 松弛通知版本:2.20 jenkins CI是脚本化管道,具有以下代码: SlackNotifier是一个包含以下代码的库: buildUnitTestSlackNotificatio
我试图按照Pact.io上的文档编写一个简单的集成测试。不幸的是,我得到一个例外,如下所示:
pact-jvm可以将结果发布回pact代理。但是,我似乎找不到使用标记发布的选项或方法,就像pact Broker的例子: