问题标签 [pact-jvm]

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 回答
292 浏览

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

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

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

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

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

0 投票
1 回答
837 浏览

java - 如何使用 REST Assured 将 Pact 测试的动态 id 从提供者注入到消费者

我需要使用 Pact 测试和 REST Assured 检查 /meeting/id 类型的 api。id 可能会更改,我想在测试之前创建一个项目并注入他们的 id 以覆盖作为合同 url 路径的一部分设置的内容,但不知道该怎么做?

这是我的消费者:

这里是我的提供者:

非常感谢你。

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 回答
462 浏览

pact - 使用 SpringRestPactRunner 时出现 NoSuchMethodException

我正在使用 SpringRestPactRunner 进行协议提供者测试。

在 build.gradlew 中,我放了

在测试文件中,

测试失败消息:

0 投票
1 回答
166 浏览

pact - fallbackTag 不起作用并且代码抛出 NoPactsFoundException

我正在使用 4.1.11 版本的 junit5 提供程序。

根据文档,我在提供程序测试类中同时指定了标记和 fallbackTag。

现在如果 branch123 标签合约不存在,它应该使用主标签合约。但是它对我不起作用并引发以下错误:

我可以确认协议代理确实存在主标签,并在标签字段中使用它并成功运行测试。

这是图书馆的错误吗?还是我错过了什么?

查看 VersionSelector 的代码,似乎确实有 fallbackTag() 方法,但是当我进入 PactBroker 时,consumerVersionSelectors() 方法似乎没有任何 fallbackTag 引用:

https://github.com/pact-foundation/pact-jvm/blob/4_1_11/provider/src/main/java/au/com/dius/pact/provider/junitsupport/loader/VersionSelector.java

https://github.com/pact-foundation/pact-jvm/blob/4_1_11/provider/src/main/java/au/com/dius/pact/provider/junitsupport/loader/PactBroker.java

谢谢。

0 投票
1 回答
155 浏览

java - 生成契约契约:如何创建匹配任何东西的 PactDslJsonBody

我正在使用 Java 作为消费者生成契约合同。这是我希望提供商验证的响应正文示例

的值record可以是任何东西。只要值record是一个对象,我就希望验证通过。我该怎么做?

0 投票
1 回答
79 浏览

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

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

0 投票
1 回答
107 浏览

unit-testing - 如何仅将 pact-jvm 提供程序与 json 文件集成

我想使用提供的 pact json 文件来测试我的 spring-boot Rest API。事情是互联网上的所有资源都指向使用契约经纪人进行验证。我会到达那里,但目前,为此开发 POC 非常困难。

无论 pom 配置如何,它都会尝试连接到 localhost。

这是我的 pom.xml

请注意,json 实际位于提供的路径上/Usr/Pact-JVM-Example/pacts/。另外,我故意删除pactBrokerUrl,因为我不打算连接到远程协议 json。

/Usr/Pact-JVM-Example/pacts/最后,我希望测试在运行时基于 json 文件通过/失败./mvnw pact:verify

0 投票
1 回答
203 浏览

pact - 数组中不同数量元素的约定匹配器

我有一个端点,它返回以下类型的响应:

目前我已经编写了如下协议匹配器:

现在这仅在提供者返回数组中元素的确切数量时才有效。如果提供者没有返回其中一项,则它不起作用,例如:

或者,如果提供者退回了额外的项目:

第一个元素是固定的,第二个元素提到返回了多少个项目,然后跟随与项目一样多的元素。

我该如何为此编写匹配器?谢谢。

0 投票
1 回答
138 浏览

pact - How to implement a simple PACT-JVM solution on existing Scala code-base

We are trying to implement a Hybrid approach for PACT-provider for Scala. We're looking for a simple example of Pact-JVM-provider side implementation using PACT-JVM (Java variant) We've the project code-base in Scala, but would like to try Pact JVM (Java variant) on top of it for Pact testing (Provider-side). I tried searching the sample for this hybrid approach but couldn't find one, so asking around for help.

Does anyone has a sample git repo of simple implementation?

Thanks a lot