Dank @LiorH für diesen großen Vorschlag.
Hier ist eine vollständige Testklasse mit der DropwizardServiceRule in dropwizard-0.6.2.
Zuerst erstellen Sie eine Service-Konfiguration zum Testen: testing-server.yml
und legen Sie es in den Klassenpfad des Tests (z. B. src\test\resources
). Auf diese Weise können Sie verschiedene Ports eingestellt für den Test-Service zu nutzen:
http:
port: 7000
adminPort: 7001
Eine einfache Test-Klasse, die überprüft, ob es eine Ressource an der Stelle „/ Nachfrage“ sieht wie folgt aus:
class TheServiceTest {
@ClassRule
public static DropwizardServiceRule RULE = new DropwizardServiceRule<MyConfiguration>(TheService.class,
Resources.getResource("testing-server.yml").getPath());
@Test
public void
dropwizard_gets_configured_correctly() throws Exception {
Client client = new Client();
ClientResponse response = client.resource(
String.format("http://localhost:%d/request", RULE.getLocalPort()))
.get(ClientResponse.class);
assertThat(response.getStatus(), is(200));
}
}
Ich habe auch den Import hinzugefügt, falls Sie nicht wissen, welche Implementierung zu wählen ist.
Am Ende der Tests wird der Server ordnungsgemäß heruntergefahren, so dass Sie sich keine Sorgen machen müssen.
Können Sie mich bitte auf einen Beispielcode hinweisen? Ich verstehe nicht, wie ich vorgehen soll. – Neo