如何验证 stubMatchers 中数组的所有元素
How to validate all elements of an array in stubMatchers
Contract.make {
request {
method 'POST'
urlPath '/for/post'
body("""
[
{
"duck": "1"
},
{
"duck": "2"
},
{
"duck": "3"
}
]
""")
stubMatchers {
jsonPath('$[*].duck', byRegex(nonEmpty()))
// jsonPath('$[0].duck', byRegex(nonEmpty()))
// jsonPath('$[1].duck', byRegex(nonEmpty()))
// jsonPath('$[2].duck', byRegex(nonEmpty()))
}
headers {
contentType(applicationJson())
}
}
response {
status 200
body([
duck: 123
])
headers {
contentType(applicationJson())
}
}
}
如果我使用“$[*].duck”,只要其中一个不为空,它就会return数据。所以我使用“$[0].duck, $[1].duck, $[2].duck”。我怎样才能使它更简洁?
jsonpath 没办法了。你做得对。
Contract.make {
request {
method 'POST'
urlPath '/for/post'
body("""
[
{
"duck": "1"
},
{
"duck": "2"
},
{
"duck": "3"
}
]
""")
stubMatchers {
jsonPath('$[*].duck', byRegex(nonEmpty()))
// jsonPath('$[0].duck', byRegex(nonEmpty()))
// jsonPath('$[1].duck', byRegex(nonEmpty()))
// jsonPath('$[2].duck', byRegex(nonEmpty()))
}
headers {
contentType(applicationJson())
}
}
response {
status 200
body([
duck: 123
])
headers {
contentType(applicationJson())
}
}
}
如果我使用“$[*].duck”,只要其中一个不为空,它就会return数据。所以我使用“$[0].duck, $[1].duck, $[2].duck”。我怎样才能使它更简洁?
jsonpath 没办法了。你做得对。