我有一个服务,它返回一个哈希数组,其顺序是不确定的。我需要验证是否存在一个具有特定键/值的散列,该散列中填充了数据,但其余的散列我不关心它们的数据。例如,如果服务返回:
[
{
"key":"meaningless1",
"data": {
}
},
{
"key":"meaningless2",
"data": {
"some": "data",
"goes": ["here"]
}
},
{
"key":"meaningful",
"data": {
"regex": "value",
"integer": 1,
"boolean": true
}
}
]
我想验证数组中是否存在一个具有"key":"meaningful"
的散列,并且该散列中的data
具有一个与正则表达式匹配的值的regex
键,该键是一个整数,boolean
是一个布尔值。我不关心其他哈希是否有数据,或者它们的数据是否与此模式匹配。在
我不能使用EachLike
,因为这将根据所有散列来验证模式,而不仅仅是使用key
的哈希。我也试过这样的方法:
但它只是尝试针对结果数组中的第0个元素进行验证,这意味着它尝试针对:
{
"key":"meaningless1",
"data": {
}
},
我想要的可能吗?在
这是目前不可能的。您可能想加入这个关于您所要求的功能的对话:https://github.com/pact-foundation/pact-specification/issues/38
但是,我要指出的一点是,当您可以控制提供者上的数据时,pact的效果最好。如果您无法控制数据,那么pact可能不是您的方案的最佳工具。阅读:https://github.com/pact-foundation/pact-ruby/wiki/Why-Pact-may-not-be-the-best-tool-for-testing-public-APIs
相关问题 更多 >
编程相关推荐