2016-03-19 7 views
1

Ich entwickle eine iOS-App mit XCUITest-Methoden zum Testen der Schnittstelle. Ich habe einen grundlegenden UI-Test eingerichtet in einer ersten Datei AppUITests.swift, die let app = XCUIApplication() als Mitglied der XCTestCase Unterklasse und später app.launch() in der setUp() Methode tut. Alles ist gut für Tests in dieser Datei.Xcode iOS UI-Tests stürzen bei SIGABRT ab, wenn mehrere Testklassen vorhanden sind

Ich wollte eine neue Testsuite für UI-Tests nur im ersten Haupt "Modus" der Anwendung erstellen, also habe ich eine neue Datei MainModeUITests.swift erstellt und kopiert den gleichen Code über. Mein Plan war natürlich, die UI-Workflows in diesem Modus zu testen, aber in dieser neuen Datei stürzt die Anwendung mit signal SIGABRT in der Zeile ab, in der XCUIApplication() aufgerufen wird.

Momentan teste ich am Simulator und bin noch nicht einmal zum Gerätetest gekommen. Irgendwelche Ideen, warum SIGABRT würde auf die Anwendung von der UITesting geworfen werden? Gibt es einen Grund, warum ich das nicht in verschiedenen Testsuiten nennen kann? Gibt es eine Möglichkeit, UI-Tests sogar in mehrere schnelle Dateien zu trennen?

Antwort

0

Ich habe es herausgefunden: Ich habe zwei Ziele (eines für Komponententests, das andere für UI-Tests). Ich hatte die UI-Testdatei versehentlich zum Ziel für die Nicht-UI-Prüfung hinzugefügt. Bei Tests von beiden Zielen hat die XCUIApplication() -Methode versucht, auf die App zuzugreifen, so dass die Unit-Tests keine XCUITest verwenden. mochte nicht. Lösung: Entfernen Sie alle XCUITest-Quellen von "Quellen kompilieren" auf dem anderen Testziel.

Verwandte Themen