我是新手。我的应用程序是一个spring boot应用程序。消费者在协议代理中创建了协议。现在我正在尝试从providers端运行测试,我正在使用gradle插件来运行测试。我有几个问题:
> 使用者发布
协议没有指定任何状态。这意味着我不需要在提供者端使用任何stateChangeUrl?
我想实现的是:当我说pactVerify
下面是我的成绩档案
pact {
serviceProviders {
'user-api' {
protocol = 'http'
host = 'localhost'
port = 8080
startProviderTask = startService
terminateProviderTask = stopService
if ('pactVerify' in gradle.startParameter.taskNames) {
hasPactsFromPactBroker('http://pactbroker.com') {
< How to write some code here to say do POST before running PACT >
}
}
}
}
这意味着您已经选择不使用该机制来更改状态,因此是的,您不需要使用该URL。但你可能希望改变你的想法。
为什么不在开始所有测试之前注入数据呢?如果您没有需要担心的状态,那么您不妨使用预加载到数据库中的数据来启动提供程序。
如前所述,所有配置信息都可以在https://github.com/dius/pact-jvm/tree/master/pact-jvm-provider-gradle上找到。
关于测试提供程序,我有几个问题: 在进行测试之前,是否需要启动提供程序服务?我应该在测试中到达实际的提供者endpoint吗?例如,假设我的提供者代码库上有一个GET/dogsendpoint。运行测试时,是否需要在本地启动服务,点击/dogsendpoint,然后用pact文件验证为该endpoint返回的响应? 如果我想将其作为配置项管道的一部分运行(我使用的是Circloci),那么有哪些最
我正在使用Pact进行消费者驱动的合同测试。在我的usecase中,我的消费者“some-market-service-consumer”正在使用提供者“market-service”。在某个市场服务消费者处“产生”的合同如下所示: 在provider-site上,我正在使用Pact-Provider-Verifier-Docker'。以下是我的测试结果: 看起来,好像测试工作良好-“电话”被测试
我想为我的客户和API建立契约测试。我的API不能在本地运行,所以我希望能够在部署到生产之前,针对已部署的API临时版本运行提供程序测试。 我在网上看到的提供程序测试的大多数示例都使用了localhost。当尝试对我部署的HTTPSendpoint运行提供程序测试时,测试失败,显示。是不支持HTTPS协议,还是我遗漏了什么? 使用pact-provider-verifier cmd line工具工
测试运行的结果如下: 由于使用本地协议文件会使测试变为绿色,我想原因不在我的测试类代码中,不过如果有帮助的话,我在这里提供它: 由于使用本地协议文件不是一个选项,我真的想知道如何修复错误,并将感谢任何有帮助的意见。
嗨,在添加apache poi gradle构建之后,我得到了这个期望。你能给我解释一下怎么解决吗。 我尝试过以多种方式排除套餐选项,但都没有成功 错误:任务': app: transformResourcesSusMergeJavaResForDebug'执行失败。 com.android.build.api.transform.TransformException:com.android.bu
我试图按照Pact.io上的文档编写一个简单的集成测试。不幸的是,我得到一个例外,如下所示: