WebTestClient assertThat json只有特定的键



我正在测试我的端点,像这样:

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

相关内容

  • 没有找到相关文章

最新更新