Wie verspotte ich Netzwerkanforderungen in Xcode-UI-Tests, während die Tests ausgeführt werden?

Wir haben eine Reihe von UI-Tests für unsere App, die mit @ geschrieben wurde KIF die ich konvertieren möchte, um das neue Xcode UI-Testframework zu verwenden.

Die App ist ein Client einer Rest-KI, deren Antworten wir derzeit mit NSURLProtocol verspotten, um vordefinierte JSON-Dateien als Antwort auf die GETs, POSTs, PUTs usw. bereitzustellen. Alle Tests werden anhand der Daten in diesen Dateien definiert Ich möchte sie also weiterhin verwenden. Dieselben Endpunkte auf dem Server geben an verschiedenen Punkten der Tests unterschiedliche Daten zurück. Daher kann ich sie nicht im Voraus verspotten. Ich muss in der Lage sein, eine Methode aufzurufen, während der Test ausgeführt wird, um die nächste Antwort des Servers zu verspotten.

Leider wirkt sich die Verwendung von NSURLProtocol in einem Xcode-UI-Test nicht auf die getestete App aus, und ich habe nur Möglichkeiten zum Senden von Daten an die App über Startargumente oder die Umgebung gesehen, z. B. indiese Antwort. Ich muss sie in verschiedenen Phasen während meiner Tests unterschiedlich verspotten. Wie kann ich Netzwerkanforderungen aus dem UI-Test auf eine Weise nachahmen, die sich während des Tests ändert? Oder wie kann ich mit der getesteten App kommunizieren, damit sie die Anforderungen selbst verspottet?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage