问题描述
如何在 wiremock 中验证对同一 url 但具有不同主体的两个 post 请求?同一个 url 应该用 body 1 调用一次,用 body 2 调用一次。
现在 wiremock 只关心验证最后一行。
verify(postRequestedFor(urlEqualTo("/my-url"))
.withRequestBody(equalToJson(resourceAsstring("my-first-body.json"),true,false)));
verify(postRequestedFor(urlEqualTo("/my-url"))
.withRequestBody(equalToJson(resourceAsstring("my-other-body.json"),false)));
解决方法
我最终这样做了:
var postRequests = findAll(postRequestedFor(urlMatching("/my-url")));
assertThat(postRequests.get(0).getBodyAsString()).isEqualTo(resourceAsString("my-first-body.json"));
assertThat(postRequests.get(1).getBodyAsString()).isEqualTo(resourceAsString("my-other-body.json"));