WebTestClient проверяет jsonPath против другого jsonPath - PullRequest
1 голос
/ 16 апреля 2019

У меня есть этот «контентный» ответ, который мне нужен для утверждения некоторых значений из него.

WebTestClient.BodyContentSpec content = response.expectStatus().isOk()
                .expectBody()
                .jsonPath("$.path1").isEqualTo(value1);

Если я хочу установить некоторые пути json с предопределенными значениями, все хорошо.

Но сложная часть возникает, когда я хочу проверить, совпадает ли путь json с другим путем json.

JsonPathAssertions jsonPath2 = bodyContentSpec.jsonPath("$.path2);

JsonPathAssertions jsonPath3 = bodyContentSpec.jsonPath("$.path3");

Итак, мой вопрос, как я могу утверждать содержимое jsonPath2 против jsonPath3 usin org.hamcrest.Matchers.greaterThanOrEqualTo?

1 Ответ

2 голосов
/ 16 апреля 2019

Я думаю, вы могли бы использовать метод value(Consumer):

для простых операций:

jsonPath2.value(v->jsonPath3.isEqualTo(v));

для использования специальных Matchers:

jsonPath2.value(v->jsonPath3.value(Matchers.greaterThanOrEqualTo(v)));
...