问题标签 [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 回答
68 浏览

pact - 提供方处理不适用于请求正文

如果我在提供者的请求正文中添加任何内容或重命名或删除与合同不同的任何字段,则提供者端匹配不起作用,那么它不会失败。

例如,合同文件请求正文中包含名称字段和相同的字段,如果我仅在请求中删除或重命名提供者的请求正文(而不是响应),则协议不会验证这一点。

我想在提供者方面确认请求正文的匹配是否有效?

我可以在协议文件中看到请求正文的匹配规则,但它似乎不起作用。

0 投票
1 回答
80 浏览

pact - 如何在 bitbucket 中共享 pact 文件

我想将协议文件从消费者共享到 bitbucket,然后提供者可以从同一位置使用。

有人实施这个吗?

提前致谢。

0 投票
1 回答
41 浏览

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

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

谢谢

0 投票
0 回答
82 浏览

pact - Pact JVM 无法加载类,因为它是用 Java15 编译的

我正在使用协议 gradle 插件以及消费者/提供者依赖项为队列中的消息创建协议测试。

但是在运行时./gradlew clean pactVerify出现错误:

即使我使用 Java 15 进行编译,并且https://github.com/pact-foundation/pact-jvm声明 4.2.x 与 Java 15 兼容。

消费者守则:

消费者配置:

提供者代码:

提供者配置:

我从中获得的消费者示例代码: https ://github.com/pact-foundation/pact-jvm/blob/ac6a0eae0b18183f6f453eafddb89b90741ace42/consumer/junit5/src/test/java/au/com/dius/pact/consumer/junit5/ AsyncMessageTest.java

我从中获得的提供程序示例代码: https ://github.com/pact-foundation/pact-jvm/tree/master/provider/gradle#verifying-a-message-provider

0 投票
1 回答
134 浏览

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

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

提供者响应以下数据:

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

0 投票
1 回答
45 浏览

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

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

0 投票
0 回答
26 浏览

gradle-kotlin-dsl - 使用 Gradle 和 Kotlin 发布提供者验证结果时出现“您的项目配置错误”错误

我 14 天前在GitHub 上发布了这个,但没有任何回应。我希望 StackOverflow 用户可能知道答案?

当我跑

gradle pactVerify -Ppact.verifier.publishResults=true

我收到一个错误:

您的项目配置错误,在构建中期待“pact”配置,但得到了一个值为 '' 的字符串。确保没有覆盖“pact”的属性。

该协议无需-Ppact.verify.publishResults=true命令行即可成功验证。

我在 Windows 10 Professional 上使用带有 Java 11 和 Kotlin 1.4.20 的 Gradle 6.8.3。(我也尝试过 Gradle 7.1 和 Kotlin 1.4.31)

我已经查看了文档并试图找到相关问题但没有成功。

我的 Gradle 构建文件使用 Kotlin DSL,我也尝试过 Groovy DSL,结果相同。这就是它的样子(省略了 URL):

0 投票
1 回答
37 浏览

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

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

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

这里是我们的詹金斯文件

0 投票
1 回答
73 浏览

pact - 我们可以在不访问消费者代码的情况下创建消费者测试并生成协议文件吗

我是测试自动化工程师,也是 PACT 的新手。我的问题是我有一个前端和一个后端。前端发送请求并从后端获取响应。我想创建消费者测试并生成一个 Pact 文件,但我无权访问客户端代码。有人可以告诉我,如果我们可以使用 java 创建消费者测试吗?能否请您也提供原因?

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?