メインコンテンツまでスキップ

iOSプラットフォームで現在サポートされているユースケース

一般的なiOSのユースケースに基づいて、いくつかのPipelineレシピを用意しています。これらには、ユーザーが実行する必要のある最も頻繁なタスクの一部が含まれています。

(iOS) 複数のシミュレーターでテストを並列実行するClick to copy link​

説明Click to copy link​

この例では、sample-swift-project-with-parallel-ui-test iOSオープンソースサンプルアプリを使用します。このアプリには、UnitテストとUIテストの例がいくつか含まれており、Test Plansを使用してテストをグループ化しています。

この例のPipeline設定では、プロジェクトのすべてのテストケースを異なるiOSシミュレーターで実行する方法を示しています。

run_tests_on_simulators Pipelineは、2つのStageを順番に実行します。

  1. build_tests Workflowを実行するbuild_tests stage。このWorkflowは、サンプルプロジェクトをgit cloneし、ターゲットと関連するテストをビルドするためにxcode-build-for-test Stepを実行します。ビルドされたテストバンドルは、deploy-to-bitrise-io Stepを介して次のStage(run_tests_on_simulators)に転送されます。

    ビルドテストバンドルが圧縮されます

    xcode-build-for-test Stepは、ビルドされたテストバンドルを圧縮し、生成されたzipを$BITRISE_DEPLOY_DIRに移動します。そのディレクトリの内容は、deploy-to-bitrise-io Stepを介してデフォルトでWorkflowアーティファクトにデプロイされます。

    アーティファクトファイルサイズの制限

    1ビルドあたり、Artifactsにデプロイされるファイル数に制限はありません。ただし、ファイルサイズには1ファイルあたり2GBの制限があります。

  2. run_tests_on_simulators Stageは、run_tests_iPad、run_tests_iPhone、run_tests_iPodという3つのWorkflowsを並列実行します。これら3つのWorkflowsはすべて、新しいxcode-test-without-building Stepを使用しており、これは前のstageでビルドされたテストバンドルに基づいてテストを実行します。事前ビルドされたテストバンドルは、_pull_test_bundleユーティリティ Workflowによって取得されます。

    iOS_example_modified.png

手順Click to copy link​

新しいBitriseのサンプルプロジェクトで設定をテストするには、以下の手順に従います。

  1. 新しいアプリを作成するには、Create New Appページにアクセスします。
  2. gitリポジトリの選択を求められたら、Other/Manualを選択し、Git repository (clone) URLフィールドにサンプルプロジェクトのリポジトリURL(https://github.com/bitrise-io/sample-swift-project-with-parallel-ui-test)を貼り付けます。
  3. 表示されるポップアップで、これがパブリックリポジトリであることを確認します。
  4. スキャンするmasterブランチを選択します。
  5. プロジェクトスキャナーが完了するまで待ちます。
  6. 提示されたDistribution methodのいずれかを選択します(例:development。今はテストに焦点を当てているため、実際にはどれでも構いません)。
  7. 提示されたスタックを確認し、アプリアイコンの選択とwebhookの登録をスキップして、最初のビルドを開始します。
  8. 新しいBitrise プロジェクトのWorkflow Editorを開きます。
  9. bitrise.ymlタブに移動し、既存のbitrise.ymlをサンプルの[bitrise.yml](https://github.com/bitrise-io/workflow-recipes/blob/main/recipes/ios-run-tests-in-parallel-on-multiple-simulators.md#bitriseyml)ファイルの内容に置き換えます。
  10. Start/Schedule a Buildボタンをクリックし、ポップアップ下部の「Workflow, Pipeline」ドロップダウンメニューでrun_tests_on_simulatorsオプションを選択します。

bitrise.ymlClick to copy link​

GitHubリンク: https://github.com/bitrise-io/workflow-recipes/blob/main/recipes/ios-run-tests-in-parallel-on-multiple-simulators.md#bitriseyml

(iOS) テストグループを並列実行するClick to copy link​

説明Click to copy link​

この例では、sample-swift-project-with-parallel-ui-test iOSオープンソースサンプルアプリを使用します。このアプリには、UnitテストとUIテストの例がいくつか含まれており、Test Plansを使用してテストをグループ化しています。

XCodeテストプラン

Xcode Test Plansは、異なるテスト設定で一連のテストを実行する方法を提供します。raywenderlich.comには、Xcode Test Plansの使い方に関する優れたチュートリアルがあります。

この例のPipeline設定では、異なるテストグループを並列実行する方法を示しています。

run_tests_groups Pipelineは、2つのStageを順番に実行します。

  1. build_tests Workflowを実行するbuild_tests Stage。このWorkflowは、サンプルプロジェクトをgit cloneし、ターゲットと関連するテストをビルドするためにxcode-build-for-test Stepを実行します。ビルドされたテストバンドルは、deploy-to-bitrise-io Stepを介して次のStage(run_tests_groups)に転送されます。

  2. run_tests_groups Stageは、run_ui_testsとrun_unit_testsという2つのWorkflowsを並列実行します。これら2つのWorkflowsはどちらも、新しいxcode-test-without-building Stepを使用しており、これは前のStageでビルドされたテストバンドルに基づいてテストを実行します。事前ビルドされたテストバンドルは、_pull_test_bundleユーティリティ Workflowによって取得されます。

    iOS_example_2.png

手順Click to copy link​

  1. 新しいアプリを作成するには、Create New Appページにアクセスします。
  2. gitリポジトリの選択を求められたら、Other/Manualを選択し、Git repository (clone) URLフィールドにサンプルプロジェクトのリポジトリURL(https://github.com/bitrise-io/sample-swift-project-with-parallel-ui-test)を貼り付けます。
  3. 表示されるポップアップで、これがパブリックリポジトリであることを確認します。
  4. スキャンするmasterブランチを選択します。
  5. プロジェクトスキャナーが完了するまで待ちます。
  6. 提示されたDistribution methodのいずれかを選択します(例:development。今はテストに焦点を当てているため、実際にはどれでも構いません)。
  7. 提示されたスタックを確認し、アプリアイコンの選択とwebhookの登録をスキップして、最初のビルドを開始します。
  8. 新しいBitrise projectのWorkflow Editorを開きます。
  9. bitrise.ymlタブに移動し、既存のbitrise.ymlをサンプルの[bitrise.yml](https://github.com/bitrise-io/workflow-recipes/blob/main/recipes/ios-run-test-groups-in-parallel.md#bitriseyml)ファイルの内容に置き換えます。
  10. Start/Schedule a Buildボタンをクリックし、ポップアップ下部の「Workflow, Pipeline」ドロップダウンメニューでrun_tests_groupsオプションを選択します。

bitrise.ymlClick to copy link​

GitHubリンク: https://github.com/bitrise-io/workflow-recipes/blob/main/recipes/ios-run-test-groups-in-parallel.md#bitriseyml