How to use xcodebuild with -only-testing and -skip-testing flag?
Like what Marcio said, it's a path like string.
For example, say you have a scheme named MyScheme, a test target MyUITests
, and testing class LoginTest
, then testing method testUserLogin
, to run only the method, you can run
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
Likewise, if you want to run all tests under LoginTest, here you run
xcodebuild -workspace Envoy.xcworkspace \
-scheme MyScheme \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPad Air 2,OS=10.1'
'-only-testing:MyUITests/LoginTest' test
In case you need to include several tests:
xcodebuild -project Some.xcodeproj \
-scheme AllTests -only-testing:PersistenceTests -only-testing:FoundationTests test
Documentation:
An xcodebuild command can combine multiple constraint options, but -only-testing: has precedence over -skip-testing:.
You can check the video https://developer.apple.com/videos/play/wwdc2016/409/
I used it like this:
-only-testing:UITests/TC_TextArea/test1
for my tests tree. Works fine
Full command looks as follows:
command = 'xcodebuild test
-workspace ' + pathToProjectWorkspaceFolder + '/project.xcworkspace
-scheme yourApp.app
-destination "platform=iOS,name=' + deviceName + '"
-only-testing:UITests/TC_TextArea/test1'