Как проверить все элементы массива в 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", пока один из них не пуст, он вернет данные. Поэтому я использую "$[0].duck, $[1].duck, $[2].duck". Как я могу сделать это более кратким?

1 ответ

Решение

Нет другого пути из-за jsonpath. Вы делаете это правильно.

Другие вопросы по тегам