web-dev-qa-db-ja.com

xcodebuildを-only-testingおよび-skip-testingフラグと一緒に使用するにはどうすればよいですか?

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意味ですか?

15
Zigii Wong

マルシオが言ったように、それは文字列のようなパスです。

たとえば、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
17
Fang-Pen Lin

あなたはビデオをチェックすることができます 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'
6
N.K.

複数のテストを含める必要がある場合:

xcodebuild -project Some.xcodeproj \
-scheme AllTests -only-testing:PersistenceTests -only-testing:FoundationTests test

ドキュメンテーション:

Xcodebuildコマンドは複数の制約オプションを組み合わせることができますが、-only-testing:は-skip-testing:よりも優先されます。

1
Vlad
xcodebuild \
 -workspace MyApp.xcworkspace \
 -scheme Automation \
 -destination 'plaform=ios,name=My Real iPhone' \
 -only-testing:MyTestDirectory/TestClass/testMethodName \
 test-without-building
  • テストのみの前後に単一引用符は不要
  • 無視されるため、サブディレクトリ名は必要ありません。 MyTestDirectory/E2E /
0
user1681739

アプリケーションをテストするには、次の2つのステップを実行する必要があります。

  1. アプリケーションを構築する
    xcodebuild build-for-testing \
        -workspace "<your_xcworkspace>" \
        -scheme "<your_scheme>" \
        -destination "platform=iOS Simulator,name=<your_simulator>,OS=<simdevice_os_version>" \
        -derivedDataPath "All"
  1. ビルドせずにテストする
    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>]

0
Ali Azam