Предположим, у меня есть такой контракт:
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
существует в каждой записи массива и что каждое из них не пусто?