Ho trovato uno strumento da riga di comando chiamato "xctest" che apparentemente può eseguire i test unitari nel progetto. Questo eseguibile vive qui:Come posso eseguire xctest dalla riga di comando con Xcode 5?
/Applications/Xcode.app/Contents/Developer/usr/bin/xctest
Quando provo ad eseguire questo eseguibile sul mio fagotto xctest, sto usando:
$ ./xctest /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
Tuttavia, ottengo il seguente output:
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
Non esiste una pagina man per xctest, per quanto posso dire, ma inserendo solo ./xctest alla resa della riga di comando:
Usage: xctest [--test Self | All | None | <TestCaseClassName/testMethodName>] <path of unit to be tested>
In particolare, mi piacerebbe essere in grado di testare solo un particolare metodo in una classe di test, motivo per cui mi piacerebbe utilizzare questo comando xctest.
faccio vedere che c'è un modo per eseguire tutti i test dalla linea di comando come:
$ xcodebuild test -scheme MyApp
Questo viene eseguito tutti i test di unità e funzioni correttamente (vedo i miei risultati dei test di unità, a differenza di quando si utilizza xctest). Ma sono interessati ad essere in grado di eseguire un unico metodo di prova dalla riga di comando, come ad esempio:
$ ./xctest --test MyAppTests/testExample /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-abcdefghijklmnop/Build/Products/Debug/MyAppTests.xctest
Grazie! In realtà non avevo bisogno di impostare le variabili di ambiente per DYLD_FRAMEWORK_PATH e DYLD_LIBRARY_PATH. Avevo bisogno di assicurarmi di avere la corretta posizione del pacchetto xctest in Build/Products/Test, invece di Build/Products/Debug. Quindi il mio percorso era simile a: ./xctest -XCTest MyTestClass/testMyTestFunction /Users/username/Library/Developer/Xcode/DerivedData/MyApp-abcdefjhikjklmn/Build/Products/Testing/MyAppTests.xctest –
Grazie per il suggerimento sulla disattivazione dei test nel schema. È possibile selezionare più righe e utilizzare la barra spaziatrice per alternare la selezione - molto utile! – funroll