我正在测试我的端点,像这样:
webTestClient.get().uri(BASE_URL).
.exchange().expectStatus().isOk().expectBody()
.jsonPath("$.name").isEqualTo("test1")
.jsonPath("$.street").isEqualTo("test1")
.jsonPath("$.id").isEqualTo(1);
是否有任何方法我可以确保json只有这3个字段,而不是更多?
通过检查json属性的大小来解决。这不完全是我想要的(因为现在我必须改变某些变化的2个值),但它仍然是一个可行的解决方案:
.jsonPath("$.length()").isEqualTo(4);
Hamcrest Matchers没有为我工作。
参见此答案:https://stackoverflow.com/a/74195945/3824715