xcodebuild
のmanページには2つのオプションがあることに気づきました。
-only-testing:TEST-IDENTIFIER
含めるテストを指定し、他のテストを除外することにより、テストを制約します
-skip-testing:TEST-IDENTIFIER
除外するテストを指定し、他のテストを含めることにより、テストを制約します
私が試すこと:
xcodebuild -workspace MyWorkSpace.xcworkspace /
-sdk iphonesimulator /
-destination id=7F52F302-C6AF-4215-B269-39A6F9913D5B /
-scheme SCHEME-iOS /
test -only-testing:???
とは TEST-IDENTIFIER
意味ですか?
マルシオが言ったように、それは文字列のようなパスです。
たとえば、MySchemeという名前のスキーム、テストターゲットMyUITests
、テストクラスLoginTest
、次にメソッドtestUserLogin
をテストして、メソッドのみを実行するとします。
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
同様に、すべてのテストをLoginTestで実行する場合は、ここで実行します
xcodebuild -workspace Envoy.xcworkspace \
-scheme MyScheme \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPad Air 2,OS=10.1'
'-only-testing:MyUITests/LoginTest' test
あなたはビデオをチェックすることができます https://developer.Apple.com/videos/play/wwdc2016/409/
私はそれを次のように使用しました:
-only-testing:UITests/TC_TextArea/test1
私のテストでは tree です。正常に動作します
完全なコマンドは次のようになります。
command = 'xcodebuild test
-workspace ' + pathToProjectWorkspaceFolder + '/project.xcworkspace
-scheme yourApp.app
-destination "platform=iOS,name=' + deviceName + '"
-only-testing:UITests/TC_TextArea/test1'
複数のテストを含める必要がある場合:
xcodebuild -project Some.xcodeproj \
-scheme AllTests -only-testing:PersistenceTests -only-testing:FoundationTests test
ドキュメンテーション:
Xcodebuildコマンドは複数の制約オプションを組み合わせることができますが、-only-testing:は-skip-testing:よりも優先されます。
xcodebuild \
-workspace MyApp.xcworkspace \
-scheme Automation \
-destination 'plaform=ios,name=My Real iPhone' \
-only-testing:MyTestDirectory/TestClass/testMethodName \
test-without-building
アプリケーションをテストするには、次の2つのステップを実行する必要があります。
- アプリケーションを構築する
xcodebuild build-for-testing \
-workspace "<your_xcworkspace>" \
-scheme "<your_scheme>" \
-destination "platform=iOS Simulator,name=<your_simulator>,OS=<simdevice_os_version>" \
-derivedDataPath "All"
- ビルドせずにテストする
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>'
ここで、<your_test_bundle_to_run>
はTEST-IDENTIFIER
を示し、
テストバンドルの下に含める、実行するカテゴリの数またはカテゴリの下のテストケースの数[<your_test_bundle_to_run>
]