bitrise.io

Xcodeテストの実行

Bitrise上でXcodeテストを実行するには、ご自身のプロジェクト内に定義されたテストターゲットを持つ必要があります。Xcodeテストを実行し、結果を確認するには2つのステップが必要になります。

コード署名ファイル

Xcodeテストの実行とBitriseへの結果のデプロイについては、コード署名ファイルは必要ありません!

Xcode Test for iOSステップは事前に定義されたXcodeテストを実行します。そのステップにはデフォルトの構成があり、テストが正確に書かれた場合に動きます。Xcodeでも、同じ構成オプションを見つけることができます。

Deploy to Bitrise.ioは以下のものをビルドのLogsApps & Artifacts タブへデプロイします:

また、コードカバレッジファイルの生成や圧縮されたzipファイルとしてテスト結果のエクスポートも可能です。

Bitrise上でのXcodeテスト構成

Xcode Test for iOSステップのデフォルトインプット値は、テストが正確に書かれていれば動作します。ただ、Bitriseは全てのインプットが正しい値であるか確認することをおすすめします。そうすることにより、ステップは正しく動きます。

ビルドを実行する前に、以下のXcode Test for iOSに必要なインプットを確認してください。これらのインプットはステップが実行するテストの種類を決定します。

Xcodeテストの実行

Headless mode

Xcode 9以上のバージョンでは、テストはデフォルトによりヘッドレスモードで実行されるようになっています:これはシミュレータがバックグラウンドでのみ実行される仕組みです。変更するには、ステップのDebugインプットグループに進んでRun the test in headless mode?インプット値をnoにセットしてください。けれどもこのオプションを使うとテストに時間がかかってしまいます。

xcprettyアウトプットツールでは並列テストのサポートを行っておりません。プロジェクト内に並列テストが有効化されている場合、ステップのDebugインプットグループに進み、Output toolのインプット値をxcodebuildにセットしてください。

Rerunning failed tests (Not available in Xcode 13+)

The Should retry test on failure? (Not available in Xcode 13+) input in the Debug section of the Xcode Test for iOS Step allows you to automatically rerun ALL your tests, not just the failed ones. If you set this input to yes, the Step will run xcodebuild one more time in the case of test failure.

From Xcode 13 and above the Should retry test on failure? (Not available in Xcode 13+) feature is not available anymore. We recommend you use Test Repetitions Mode (Available in Xcode 13+) input with the retry_on_failure option selected. This allows you to rerun only the failed test/s instead of running all your tests. You can find this test repetition feature with our Xcode Test for iOS Step from version 3.0.0 and above.

Test Repetitions

Xcode’s test repetition modes are available with the Xcode Test for iOS Step on stacks running Xcode 13 and above on Bitrise. With test repetitions, you can run any type of tests multiple times in various ways such as retry on failure, until failure and until max repetitions.

The Xcode Test for iOS Step’s Test Repetitions Mode (Available in Xcode 13+) input offers the following options:

Please note that these options are only available from Xcode Test for iOS version 3.0.0 and above.

With the Maximum Test Repetitions (Available in Xcode 13+) input you can specify the maximum number of test repetitions. Please note that you have to add a greater number than one if the Test Repetition Mode (Available in Xcode 13+) input is set to other than none.

Enable the Relaunch Tests for Each Repetition (Available in Xcode 13+) input to launch tests in a completely new process for each repetition.