#java #junit #spring-webflux
#java #junit #spring-webflux
Вопрос:
У меня есть этот ответ «content», из которого мне нужно указать некоторые значения.
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
использования org.hamcrest.Matchers.greaterThanOrEqualTo
?
Ответ №1:
Я думаю, вы могли бы использовать value(Consumer)
метод:
для простых операций:
jsonPath2.value(v->jsonPath3.isEqualTo(v));
для использования специальных сопоставителей:
jsonPath2.value(v->jsonPath3.value(Matchers.greaterThanOrEqualTo(v)));
Комментарии:
1. вместо isEqualTo мне нужно использовать org.hamcrest. Matchers.Greater thanorequalto не могли бы вы опубликовать пример, используя это