Ich möchte Netzwerkkommunikation von MockWebServer simulieren. Leider werden Retrofit-Callbacks nie aufgerufen. Mein Code:MockWebServer und Retrofit mit Callback
MockWebServer server = new MockWebServer();
server.enqueue(new MockResponse().setResponseCode(200).setBody("{}"));
server.play();
RestAdapter restAdapter = new RestAdapter.Builder().setConverter(new MyGsonConverter(new Gson()))
.setEndpoint(server.getUrl("/").toString()).build();
restAdapter.create(SearchService.class).getCount(StringUtils.EMPTY,
new Callback<CountContainer>() {
@Override
public void success(CountContainer countContainer, Response response) {
System.out.println("success");
}
@Override
public void failure(RetrofitError error) {
System.out.println("error");
}
});
server.shutdown();
Wenn ich Retrofit ohne Rückrufe verwende, funktioniert es.
Müssen Sie Ihren Rückruf anhängen * VOR * Sie tun 'server.play()'? – Blundell
Wenn ich die Reihenfolge ändere, löst dies die Ausnahme java.lang.IllegalStateException aus: Port kann vor dem Aufruf von play nicht abgerufen werden() – lukjar