WebTestClient 根据另一个 jsonPath 检查 jsonPath
WebTestClient check jsonPath against another jsonPath
我有这个“内容”响应,我需要从中声明一些值。
WebTestClient.BodyContentSpec content = response.expectStatus().isOk()
.expectBody()
.jsonPath("$.path1").isEqualTo(value1);
如果我想断言某些 JSON 具有预定义值的路径,一切都很好。
但是当我想检查 JSON 路径是否等于另一个 JSON 路径时,棘手的部分就来了。
JsonPathAssertions jsonPath2 = bodyContentSpec.jsonPath("$.path2");
JsonPathAssertions jsonPath3 = bodyContentSpec.jsonPath("$.path3");
所以我的问题是如何使用 org.hamcrest.Matchers.greaterThanOrEqualTo
断言 jsonPath2
的内容反对 jsonPath3
?
我认为你可以使用 value(Consumer)
方法:
简单操作:
jsonPath2.value(v->jsonPath3.isEqualTo(v));
使用特殊匹配器:
jsonPath2.value(v->jsonPath3.value(Matchers.greaterThanOrEqualTo(v)));
我有这个“内容”响应,我需要从中声明一些值。
WebTestClient.BodyContentSpec content = response.expectStatus().isOk()
.expectBody()
.jsonPath("$.path1").isEqualTo(value1);
如果我想断言某些 JSON 具有预定义值的路径,一切都很好。
但是当我想检查 JSON 路径是否等于另一个 JSON 路径时,棘手的部分就来了。
JsonPathAssertions jsonPath2 = bodyContentSpec.jsonPath("$.path2");
JsonPathAssertions jsonPath3 = bodyContentSpec.jsonPath("$.path3");
所以我的问题是如何使用 org.hamcrest.Matchers.greaterThanOrEqualTo
断言 jsonPath2
的内容反对 jsonPath3
?
我认为你可以使用 value(Consumer)
方法:
简单操作:
jsonPath2.value(v->jsonPath3.isEqualTo(v));
使用特殊匹配器:
jsonPath2.value(v->jsonPath3.value(Matchers.greaterThanOrEqualTo(v)));