Ich versuche, Tests für eine Klasse zu schreiben, die eine HttpClient
Version 4.5
verwendet. Die Tests, die ich geschrieben habe, sind sehr langsam, also habe ich versucht, das Problem zu isolieren. Ich könnte einen Test schreiben, das mein Problem zeigen:HttpClient und LocalServerTestBase ist wirklich langsam
public class RequeteurRESTTest extends LocalServerTestBase {
private String startServer(String urlSuffix, HttpRequestHandler handler) throws Exception{
this.serverBootstrap.registerHandler(urlSuffix, handler);
HttpHost target = start();
String serverUrl = "http://localhost:" + target.getPort();
return serverUrl;
}
@Test
public void testCase() throws Exception{
String baseURL = startServer("/api", new HttpRequestHandler() {
@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException {
response.setStatusCode(HttpStatus.SC_OK);
}
});
HttpClient httpClient;
httpClient = HttpClients.custom().build();
HttpGet method = new HttpGet(baseURL + "/api");
HttpResponse response = httpClient.execute(method);
}
}
Das Problem, das ich habe, ist, dass der Befehl:
httpClient.execute(method)
nimmt 10 Sekunden auszuführen. Das ist sehr langsam, aber ich kann nicht herausfinden, warum das so langsam ist. Habe ich bei meinem Test einen Fehler gemacht oder etwas vergessen?
es richtig ausführen Hat? d. h. wird der getestete Server aufgerufen? –
Der Handler wird korrekt aufgerufen, ja –