ハッシュの配列を返すサービスがあります。その順序は非決定的です。特定のキー/値を持つハッシュが1つ存在することを検証する必要があります。ハッシュにはデータが格納されますが、残りのハッシュはデータについては気にしません。サービスはこの返した場合たとえば、:pact:配列に一致するハッシュが含まれていることを検証します。
[
{
"key":"meaningless1",
"data": {
}
},
{
"key":"meaningless2",
"data": {
"some": "data",
"goes": ["here"]
}
},
{
"key":"meaningful",
"data": {
"regex": "value",
"integer": 1,
"boolean": true
}
}
]
を私は配列で、そこ"key":"meaningful"
を持っているハッシュがあり、そのハッシュでdata
ハッシュは、その値を持つregex
の鍵を持っていることを検証します正規表現、整数であるinteger
のキー、およびブール値であるboolean
のキーと一致します。他のハッシュがデータを持っているかどうか、またはそれらのデータがこのスキーマと一致するかどうかは気にしません。
EachLike
は、key
のものだけでなく、すべてのハッシュに対してスキーマを検証するため、使用できません。また、私はこのような何か試してみました:
expected = [
{
"key":"meaningful",
"data":{
"regex":Term("v.*", "value"),
"integer":Like(1),
"boolean":Like(True)
}
}
]
をしかし、それは単に意味結果の配列では0番目の要素、に対してそれが反対を検証しようとしたことを確認してみました:
{
"key":"meaningless1",
"data": {
}
},
私が可能欲しいものです?