如何在 Wiremock 中验证对同一网址但具有不同正文的两个帖子请求?

问题描述

如何在 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"));