J'ai remarqué qu'il y a deux options dans la page de manuel de xcodebuild
.
-only-testing:TEST-IDENTIFIER
contraint les tests en spécifiant que les tests doivent inclure ou non d'autres tests
-skip-testing:TEST-IDENTIFIER
contraint les tests en spécifiant les tests à exclure, mais en incluant d'autres tests
Ce que j'essaye:
xcodebuild -workspace MyWorkSpace.xcworkspace /
-sdk iphonesimulator /
-destination id=7F52F302-C6AF-4215-B269-39A6F9913D5B /
-scheme SCHEME-iOS /
test -only-testing:???
Que signifie TEST-IDENTIFIER
?
Comme ce que Marcio a dit, c'est un chemin comme une corde.
Par exemple, supposons que vous ayez un schéma nommé MyScheme, une cible de test MyUITests
et que vous testez la classe LoginTest
, puis que vous testez la méthode testUserLogin
, pour n'exécuter que la méthode, vous pouvez exécuter
xcodebuild -workspace Envoy.xcworkspace \
-scheme MyScheme \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPad Air 2,OS=10.1'
'-only-testing:MyUITests/LoginTest/testUserLogin' test
De même, si vous voulez exécuter tous les tests sous LoginTest, vous lancez ici
xcodebuild -workspace Envoy.xcworkspace \
-scheme MyScheme \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPad Air 2,OS=10.1'
'-only-testing:MyUITests/LoginTest' test
Vous pouvez visionner la vidéo https://developer.Apple.com/videos/play/wwdc2016/409/
Je l'ai utilisé comme ça:
-only-testing: UITests/TC_TextArea/test1
pour mes tests arbre . Fonctionne bien
La commande complète ressemble à ceci:
command = 'xcodebuild test
-workspace ' + pathToProjectWorkspaceFolder + '/project.xcworkspace
-scheme yourApp.app
-destination "platform=iOS,name=' + deviceName + '"
-only-testing:UITests/TC_TextArea/test1'
xcodebuild \
-workspace MyApp.xcworkspace \
-scheme Automation \
-destination 'plaform=ios,name=My Real iPhone' \
-only-testing:MyTestDirectory/TestClass/testMethodName \
test-without-building
Pour tester une application, vous devez suivre les deux étapes suivantes:
- construire l'application
xcodebuild build-for-testing \
-workspace "<your_xcworkspace>" \
-scheme "<your_scheme>" \
-destination "platform=iOS Simulator,name=<your_simulator>,OS=<simdevice_os_version>" \
-derivedDataPath "All"
- testez-le sans construire
xcodebuild test-without-building \
-xctestrun "All/Build/Products/<your_scheme>_iphonesimulator<simdevice_os_version>-x86_64.xctestrun" \
-destination "platform=iOS Simulator,name=<your_simulator>,OS=<simdevice_os_version>" '-only-testing:<your_test_bundle_to_run>' \
-derivedDataPath 'build/reports/<your_test_bundle_to_run>'
Ici, <your_test_bundle_to_run>
indique le TEST-IDENTIFIER
qui signifie
Combien de catégories ou combien de tests élémentaires sous une catégorie que vous souhaitez exécuter, qui devraient être inclus dans un ensemble de tests [<your_test_bundle_to_run>
]