假设我有这样的合同:
org.springframework.cloud.contract.spec.Contract.make {
request {
method "GET"
url "/api/profiles"
headers {
header('Accept': 'application/json;charset=UTF-8')
header('Content-Type': 'application/json;charset=UTF-8')
}
}
response {
status 200
headers {
header('Content-Type': 'application/json;charset=UTF-8')
}
body(
value(
stub(
'''\
[
{
"profile": "profile1",
},
{
"profile": "profile2",
}
]
'''
),
test(
[
[
"profile" : regex(nonEmpty()),
]
]
)
)
)
}
的测试"profile" : regex(nonEmpty())
仅检查是否存在至少一个具有profile
非空属性的数组条目。
我想测试所有条目都有一个非空的profile
.
我已经使用测试匹配器尝试过这个:
jsonPath('$.[*].profile', byRegex(nonEmpty()))
虽然这会检查每个profile
字段是否为非空,但它不会检查这样的字段是否确实存在。
如何测试profile
每个数组条目中是否存在一个字段并且每个字段都不为空?