Die Methode takeRequest () von MockWebServer dauert lange bis zur Antwort oder hängt

8

Ich verwende die MockWebServer -Bibliothek in meinen Android JUnit-Tests. Ich teste ein SDK, das Aufrufe an einen Server sendet. Also verwende ich MockWebServer , um diese Server-URLs zu überschreiben und festzuhalten, was das SDK sendet, um Assertions darauf zu erstellen.

Das Problem, auf das ich gestoßen bin, ist Folgendes: Wenn ich server.takeRequest() versuche und es einer neuen Variablen RecordedRequest zuweise, bleibt der Test am zweiten server.takeRequest() hängen und manchmal sogar am ersten - Wenn ich es auf einem Emulator starte, hängt es an der ersten server.takeRequest() -Methode, aber wenn ich es auf meinem physischen Android-Gerät laufen lasse, friert es bei der zweiten server.takeRequest() -Methode ein.

%Vor%

Mache ich etwas falsch oder ist das eine Art Bug mit MockWebServer ?

    
FilmiHero 11.09.2013, 20:34
quelle

1 Antwort

0

Es scheint ein Problem mit der Dispatch-Queue von MockWebServer zu geben, die aus irgendeinem Grund beim Austeilen von Antworten, die nicht 200 oder 302 sind, einfriert. Ich habe dies gelöst, indem ich einen benutzerdefinierten Dispatcher zur Verfügung gestellt habe:

%Vor%

Getestet mit MockWebServer 2.0.0

    
Denis Kniazhev 24.09.2014 10:50
quelle