2016-08-08 28 views
0

Ich versuche, UI Unit Testfälle für iOS zu schreiben. Aber die Tests laufen nie und geben Fehler. Der Test wurde einige Male erfolgreich ausgeführt und begann dann zu scheitern, obwohl ich keine Änderungen am Code vorgenommen hatte. Die App wird im Simulator gestartet und schließt dann, wenn Fehler auftreten. Es ist eine sehr komplexe App, sowohl UI-und Feature-weise und auch fast alle Daten der Benutzeroberfläche ist dynamisch. Zum Beispiel werden alle Bilder, Etikettentexte, Anzahl der Zeilen in den Tabellen usw. von API-Antworten abgerufen. Wenn jemand ein gutes Tutorial mit ausführlichen Erklärungen oder den Grund für dieses zufällige Verhalten vorschlagen könnte, wird es eine große Hilfe sein. Ich habe bereits die WWDC-Tutorials und viele Tutorials auf Youtube durchgearbeitet.UI Unit Testing schlägt für dynamische Daten in der Benutzeroberfläche fehl: iOS

Antwort

1

Während des Tests sollten Sie alle Daten besitzen, damit die Tests deterministisch sind und immer mit den gleichen Ergebnissen ausgeführt werden. Wenn Sie Ihre Daten dynamisch aus dem Netzwerk oder anderswo abrufen, können Sie nie wissen, wann sich die Daten ändern und Ihre Tests fehlschlagen.

Im Allgemeinen sollten Sie irgendwie Daten verspotten. Welcher Ansatz für Ihr Projekt am sinnvollsten ist, weiß ich nicht, weil Sie keine Details angeben. Aber hier ist ein Beispiel von Joe Masilotti für, wie man Ihre Netzkommunikation vortäuscht: UI Testing with Stubbed Network Data