MockServerClientでAPIサーバをモックする
自分用メモです。
javaでhttpをテストする時、以下のようにモックを使います。
//import import org.mockserver.client.server.MockServerClient; import org.mockserver.junit.MockServerRule; import org.mockserver.model.Header; import org.mockserver.model.HttpRequest; import org.mockserver.model.HttpResponse; //こんな感じでJunitのルールを書いて @Rule public MockServerRule mockServerRule = new MockServerRule(this, 1080); private MockServerClient mockServerClient; //こんな感じでMockServerの設定をします。 mockServerClient.when(HttpRequest.request().withMethod("GET").withPath("/foo")) .respond(HttpResponse.response().withStatusCode(500) .withHeader(new Header("Content-Type", "application/json; charset=utf-8")).withBody("{\"bar\":\"buzz\"}")); // http開始 actual = httpGet("http://localhost:1080/foo", null);
起動までに時間がかかるのが玉に瑕