Wie führe ich xctest von der Befehl-Linie mit Xcode 5?
Fand ich ein Kommandozeilen-tool namens "xctest" dass sich scheinbar laufen die unit-tests in Ihrem Projekt. Diese ausführbare Datei hier lebt:
/Applications/Xcode.app/Contents/Developer/usr/bin/xctest
Wenn ich versuche, führen Sie diese ausführbare Datei auf meinem xctest bundle, ich bin mit:
$ ./xctest /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
Allerdings bekomme ich die folgende Ausgabe:
Test Suite '(null)' started at 2013-11-14 21:16:45 +0000
Test Suite '(null)' finished at 2013-11-14 21:16:45 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.001) seconds
Es gibt keinen Mann-Seite für xctest, soweit ich das beurteilen kann, aber Sie nur ./xctest an der Befehlszeile ergibt:
Usage: xctest [--test Self | All | None | <TestCaseClassName/testMethodName>] <path of unit to be tested>
In bestimmten, würde ich mag, um testen zu können, nur eine bestimmte Methode in einer Testklasse, die ist, warum ich möchte in diesem xctest Befehl.
Sehe ich, dass es einen Weg gibt, um führen Sie alle tests von der Kommandozeile aus wie:
$ xcodebuild test -scheme MyApp
Diese führt alle unit-tests und funktioniert einwandfrei (ich sehe meine unit-test-Ergebnisse, im Gegensatz bei der Verwendung xctest). Aber ich bin Interessierte in der Lage, führen Sie eine einzige test-Methode aus der Kommando-Zeile, wie z.B.:
$ ./xctest --test MyAppTests/testExample /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
InformationsquelleAutor der Frage Chris Livdahl | 2013-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Trotz allem, was die Nutzungsinformationen sagt -XCTest ist das argument, das man braucht:
Für einen direkten Aufruf von xctest zu arbeiten, Sie können auch einstellen müssen
DYLD_FRAMEWORK_PATH
undDYLD_LIBRARY_PATH
Ihrem integrierten Produkte-Verzeichnis. Im Allgemeinen müssen Sie mit den gleichen Argumenten und Umgebung wie Xcode, können Sie sehen, indem Sie einen Haltepunkt in einem Ihrer tests, läuft Sie durch Xcode, drucken Sie dann die Werte derarguments
undenvironment
für[NSProcessInfo processInfo]
.Zu vermeiden, messing mit allen, die Hinweis: Sie können auch ändern, die Regelung in Xcode ausgeführt wird, nur bestimmte tests. Unter Produkt - > Schema > Bearbeiten von Schema wählen Sie die Test-Aktion und erweitern Sie die test-bundle. Können Sie verwenden Sie die Kontrollkästchen, um wählen Sie die tests ausführen und xcodebuild-test-Aktion wird dann ausgeführt, nur diese tests.
InformationsquelleAutor der Antwort Matt Stevens