1

Wiremock の新しいバージョン 2.1.7 では多くの変更が行われました。以前の方法のいくつかは、実行時にプログラムでスタブを追加することによる直接的なアプローチでは使用できなくなったようです。

たとえば、バージョン 1.57 では次のようにスタブを追加できます。

private void setStub(WireMockServer server, String url, RequestMethod requestMethod, Object body)
throws JsonProcessingException {

    UrlMatchingStrategy urlStrategy = new UrlMatchingStrategy();
    urlStrategy.setUrl(url);

    ObjectMapper mapper = new ObjectMapper();
    String jsonInString = mapper.writeValueAsString(body);

    StubMapping mapping = new MappingBuilder(requestMethod, urlStrategy).willReturn(
   new ResponseDefinitionBuilder().withHeader("Access-Control-Allow-Origin", "*").withBody(jsonInString)).build();

    server.addStubMapping(mapping);
}

2.1.7でそれを達成するにはどうすればよいですか? (はい、ドキュメントを読みましたが、私の場合は役に立たないJUnitアノテーションしか見つかりませんでした)。

4

1 に答える 1

0

OK、バージョン 2.1.7 で同じメソッドを記述する方法をようやく理解できたと思います。

private void setStub(WireMockServer server, String url, RequestMethod requestMethod, Object body)
     throws JsonProcessingException {

  ObjectMapper mapper = new ObjectMapper();
  String jsonInString = mapper.writeValueAsString(body);

  server.addStubMapping(
        WireMock.request(requestMethod.getName(), WireMock.urlMatching(url))
              .willReturn(WireMock.aResponse().withStatus(200).withBody(jsonInString)
                    .withHeader("Content-Type", "text/plain").withHeader("Access-Control-Allow-Origin", "*")
                    )
              .build());
}
于 2016-07-19T07:08:45.227 に答える