LoginSignup
1
2

More than 5 years have passed since last update.

Webクライアントのテストに使えるシンプルなサーバー

Posted at

SimpleTestWebServer

テスト用のHttpサーバを立ち上げます。

URIとレスポンスを文字列として与えると、指定したURIにアクセスした際に指定したレスポンスを返すHttpサーバーを立ち上げます。

Httpsサーバーは未実装です。

以下のようなテストが可能です。

public class SampleTest {   

    @Test
    public void test() throws Exception {
        SimpleTestWebServer server = new SimpleTestWebServer();
        server.setHandler("http://localhost:8080/test","Hello Test Server!");
        String respose = getResponse("http://localhost:8080/test");
        assertEquals("Hello Test Server!",respose);
        server.stop();
    }

    private String getResponse(String path) throws Exception {
        URI uri = URI.create(path);
        HttpURLConnection con = (HttpURLConnection)uri.toURL().openConnection();
        BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String respose = reader.readLine();
        reader.close();
        return respose;
    }

}

複数のテストのためにサーバーを立ち上げる場合は、

のコードを参考にしてください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2