Ich versuche derzeit zu testen, dass eine Netzwerkantwort tatsächlich empfangen wird.Einheit testet eine Netzwerkantwort. Funktioniert beim Debuggen, nicht beim tatsächlichen Ausführen
Während ich verstehe, dass dies nicht ist, was ich in Bezug auf das Testen tun sollte, ist es eine Neugier aus eigenem Antrieb und ich würde gerne weitermachen, wenn möglich.
So wie es aussieht, habe ich erfolgreich den Test erstellt. Eine Anfrage wird ohne Probleme an eine Volley-Warteschlange gesendet.
Nun ist der ungeradee Teil:
Dieser Antrag nie ausgeführt wird. Hier ist eine Idee, wie ich es teste:
Dieser Code führt unerwartet dazu, den Test zu hängen und nie abgeschlossen.
aber das ist, wo ich zu verlieren, das Verständnis der Situation zu stoppen:
Wenn ich den Test über Debug und Schritt für Schritt durch zeilen laufen, führt der Test erfolgreich und Antwort empfangen wird.
Was ich denke, geschieht:
Wenn ich über Debug-Schritt durch, erfolgreich die Volley Request trägt auf und macht die Anforderung und die Antwort empfangen wird, bevor await()
aufgerufen wird.
Wenn ich nicht über Debug durchlaufen, blockiert await()
den Thread, der all das behandelt.
Irgendwelche Ideen, wie ich damit umgehen kann?
@ Test? was ist das? – zgc7009
Dies ist ein jUnit-Test, wie mein Tag vermuten lässt. – VicVu
Wenn die Bestätigung fehlschlägt, wird countDown() niemals aufgerufen. Ich weiß nicht, wie sich Junit in einem Multithread-Test verhält, aber ich habe merkwürdiges Verhalten in dieser Situation mit anderen Test-Frameworks gesehen. –