読者です 読者をやめる 読者になる 読者になる

糸電話式のアレ

プログラミングのこと。毎日のこと。書いています。

こういうのちょっと欲しかった

単純なテスト用WEBサーバ機能

URIとレスポンスを文字列で与えたら、そのアドレスでレスポンスを返してくれるだけの単純なサーバー機能が欲しかったので作りました。

https://github.com/aya-eiya/SimpleTestModules

JSONの処理とかで、クライアント側のテストで使ってます。

単純な使い方としては以下のように使います。

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;
    }

}