java WebTestClientAssertjson只有特定的键

ssm49v7z  于 2023-04-04  发布在  Java
关注(0)|答案(1)|浏览(80)

我像这样测试我的端点:

webTestClient.get().uri(BASE_URL).
            .exchange().expectStatus().isOk().expectBody()
            .jsonPath("$.name").isEqualTo("test1")
            .jsonPath("$.street").isEqualTo("test1")
            .jsonPath("$.id").isEqualTo(1);

有没有什么方法可以确保json只有这3个字段,而不是更多?

yyyllmsg

yyyllmsg1#

通过检查json属性的大小解决了这个问题。不完全是我想要的(因为现在我必须改变2个值的变化),但它仍然是一个可行的解决方案:

.jsonPath("$.length()").isEqualTo(4);

Hamcrest Matchers不为我工作。
另请参见以下答案:https://stackoverflow.com/a/74195945/3824715

相关问题