我很难弄清楚如何在pact合同中的数组中表示具有不同结构对象的数组。
来自pact-spec-v3
{
"suggestions": [
{
"display_name": "Potato",
"type": 1,
"keyword": "Potato",
"category_l1": {
"icon_image_url": "XXXXX",
"id": 1489,
"name": "Potato"
}
},
{
"type": 3,
"suggestion": {
"display_name": "New Potato (Aloo)",
"name": "New Potato"
}
}
]
}
我目前拥有的代码:
private DslPart getBody() {
return new PactDslJsonBody()
.eachLike("suggestions", 1)
.stringType("display_name")
.integerType("type")
.stringType("keyword")
.object("category_l1")
.stringType("icon_image_url")
.stringType("name")
.integerType("id")
.closeObject()
.closeObject()
.closeArray();
}
这目前并不容易用Pact建模,假设每个项目都与提供的示例相似,它就能正常工作。有关讨论,请参阅https://github.com/pact-foundation/pact-specification/issues/38
所以我有一个包含一些请求和响应数据的json文件,我想要完成的是遍历这些数据并创建一个使用每个请求和响应的pact文件。 所以目前我正在使用junit中的参数化测试来迭代我们的json数据,这基本上是有效的,只是因为生产者名称对于所有pacts都是相同的,它创建了相同的文件并覆盖了前面的文件。 不确定是否有更好的方法来实现这一点,我查看了Github for Pact Jvm并查看了堆栈溢出,但未
我正在尝试使用Pact-JVM在我们的两个服务之间生成一个协议。但是当我尝试运行Java类时,我得到了这个异常。
我在pact-jvm-consumer中的closeArray有问题。 给定这样的Json,如何构造“dslPart imeiResults=new PactDslJsonBody()”-语句。 我试过这样: 但这不起作用,例如.closearray()不返回PactDslJsonBody,而是返回DslPart,所以在.closearray()之后永远不能有任何东西?我不明白,有人能给我们演示一
提前致谢
使用带有spring boot的pact jvm DSL(.timestamp(名称、格式、示例)),我可以指定以下两种: 如果您发送日期dd-MM-yyyy而不是yyyy-MM-dd,我的真正的提供者服务就会出错,但是我不明白当使用者端的测试错误地将格式错误的JSON时间戳发送给提供者API时,您应该如何使测试失败。 即。如下所示的位:
我有一个java的Spring BootAPI,它使用pact-jvm进行pact验证。我们有一个新的客户机,他想使用一个新的路径来使用相同的API,网关会处理这个路径,但这会引起pacts的问题,我想截取请求,并修改请求的路径,使新的pacts指向旧的路径。我试图在网上查阅一些资料,发现:https://medium.com/dazn-tech/pact-contract-testing-dea