问题标签 [pact-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
177 浏览

python - 警告:使用 pact-python 验证协议时忽略不支持的匹配规则

我是 Pact 的新手,我正在尝试使用 pact-python 验证提供者方面的协议,但一些匹配规则被忽略了。

警告:忽略不支持的匹配规则 {"$.num_issues"=>{"matchers"=>[{"match"=>"integer"}], "combine"=>"AND"}, "$.error"=> {"matchers"=>[{"match"=>"type"}], "combine"=>"AND"}, "$.response[0].issue_id"=>{"matchers"=>[{" match"=>"type"}], "combine"=>"AND"}, "$.response[0].msg"=>{"matchers"=>[{"match"=>"type"}] , "combine"=>"AND"}, "$.response[0].similar_fix_found"=>{"matchers"=>[{"match"=>"type"}], "combine"=>"AND" }, "$.response[1].issue_id"=>{"matchers"=>[{"match"=>"type"}], "combine"=>"AND"}, "$.response[1].msg"=>{"matchers"=>[{"match"=>"type"}] , "combine"=>"AND"}, "$.response[1].similar_fix_found"=>{"matchers"=>[{"match"=>"type"}], "combine"=>"AND" }} 用于路径 ['body']

Consumer 是基于 Java 的 API,Provider 是基于 Python 的 API。

手动将协议规范版本更改为 2.0.0 也没有按要求工作。

任何人都可以提出一些建议..?

0 投票
1 回答
292 浏览

pact - 仅用于 json 结构的测试协议提供程序

查看 Pact 进行一些合同测试,我们的 Real api 在响应中有时间戳,所以我希望仅针对 json 模式进行验证。

在这里的示例中 - https://github.com/DiUS/pact-workshop-jvm#step-4---verify-pact-against-provider

如果响应正文包含与预期不同的值,则测试失败,当我们针对提供者进行测试时,由于时间戳,我的测试总是会发生同样的情况。

如何告诉 Pact 仅针对 json 结构进行验证并忽略内容?

0 投票
1 回答
336 浏览

pact - 协议提供者验证失败:对于输入字符串:“\null”

我正在尝试在提供者方面进行验证,但出现错误 -

验证 DataConsumer 和 DataProvider 之间的协议 [使用文件 pact/DataConsumer-DataProvider.json] 给定某些状态,请求 json 数据请求失败 - 对于输入字符串:“\null”

不知道我在这里错过了什么。

我的宝乔——

契约——

测试 -

代码 -

https://github.com/nrworld4/pact-consumer-demo

https://github.com/nrworld4/pact-demo-provider

0 投票
1 回答
79 浏览

java - 如何在协议提供者验证时解析响应

我的场景是消费者定义了两个交互,interation1 与 state1,interation2 与 state2。运行interation1后,JSON响应中会有一个id,这个id必须作为interation2的查询参数。在提供者方面,有没有办法从 interation1 的响应中提取该 id?顺便说一句,我正在使用协议提供者 junit。

0 投票
1 回答
41 浏览

pact - 用于验证 PACT 实施的负烟雾测试/缺陷播种

我们正在实施 Pact 框架来测试几个微服务(Scala 后端和 iOS-Android 前端)。所以为了测试 Pact 实现本身,我们可以做什么样的负面测试/缺陷播种来确保 - 实现的 Pact 正在捕获它应该捕获的东西?即,一旦我们的 Pact 工作完成,我们正在考虑进行缺陷播种并查看诸如查询参数、API 响应结构更改、API 路径中的拼写更改等错误是否被 PACT 正确捕获?那么在那条线上,我们可以在已实施的 PACT 框架上运行哪些其他 -ve 测试和缺陷播种?即烟雾测试/探索性测试的清单,以在其上线之前快速测试已实施的 PACT 框架。

谢谢

0 投票
1 回答
134 浏览

pact - 如何使用空数据测试协议

我知道 PACT 期望提供者数据需要在我们的控制之下,但是我面临以下情况,我有多个消费者的契约合同,都有一些强制属性,一些是可选属性,但是业务逻辑抑制了所有属性具有空值,但根据合同,我仍然需要该值作为空值,我该怎么办?编辑 1:即让我们在下面说我的合同看起来

提供者响应以下数据:

现在并非所有客户都有地址第 2 行,如果 addressLine 2 为空,则现在在生产中它不会出现在 api 的输出中,但是对于我们的合同字段应该出现空

0 投票
1 回答
45 浏览

java - 协议验证:我可以跳过特定的 providerState

我可以在协议验证执行时跳过特定的提供者状态吗?就像在我的协议文件中一样,我有 10 个交互,我想从 StateChangeController 跳过交互或提供者状态。我正在使用 'au.com.dius.pact.provider' maven 插件进行协议验证

0 投票
1 回答
37 浏览

pom.xml - 使用 jenkins 将 java 合同发布到协议流时出现未经授权的错误

我有一份合同,我们可以在运行 mvn pact:publish -Dpactbroker.auth.token=myToken 时将其发布到 pact flow broker。但是,当从 Jenkins 运行它时,相同的合同和 maven 命令会给我们一个身份验证错误。不确定接下来的步骤会出现什么问题,并且合同验证是否成功并使用相同的令牌。

这是我们正在使用的版本:

这里是我们的詹金斯文件

0 投票
1 回答
153 浏览

pact - Is there a way to add pact interaction into to JSON file and add to consumer test code in JAVA

We have a requirement that we need have a pact standalone server and interactions (request/ expected response pairs) in a JSON files and store it in a directory and just add to consumer tests and generate a pact file. I would like to know if this possible in PACT using java?if yes, Could you please also provide an example?