Chciałbym symulować komunikację sieciową przez MockWebServer. Unfortulatelly retrofit callbacks nigdy nie wywołują. Mój kod:MockWebServer i Retrofit z oddzwonieniem
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();
Kiedy używam retrofitu bez wywołań zwrotnych, to działa.
Czy musisz załączyć swój oddzwaniacz * ZANIM * wykonujesz 'server.play()'? – Blundell
Kiedy zmieniam kolejność, powoduje to wyjątek java.lang.IllegalStateException: Nie można pobrać portu przed wywołaniem gry() – lukjar