このガイドでは、Firebase Test Lab でテストを行うために XCTest を準備する方法について説明します。
ステップ 1: プロジェクトの Derived Data の場所を構成する
Xcode は、ビルドしたテストなどのコンパイル済み iOS アーティファクトを、Derived Data ディレクトリに配置します。このディレクトリの場所は、希望に応じてデフォルト設定もそのまま使用できますが、Test Lab でテストを頻繁に実行する場合は、ファイルにアクセスしやすい場所を選択した方が便利です。
- Xcode でプロジェクトを開きます。
- macOS のメニューバーで、[File] > [Project Settings...] を選択します。
- [Derived Data] プルダウンを [Default Location] から [Custom Location] に変更します。
- プルダウンの下のフィールドで、Xcode がテストを出力する場所を選択します。
ステップ 2: 汎用のテストファイルを作成する
Test Lab は、XCTest フレームワークを使用して単体テストと UI テストを実行します。Test Lab デバイスでアプリの XCTest を実施するには、汎用 iOS デバイスでのテスト用に XCTest をビルドします。
- Xcode ワークスペース ウィンドウの上部にあるデバイスのプルダウンから、[Generic iOS Device] を選択します。
- macOS のメニューバーで、[Product] > [Build For] > [Testing] を選択します。
ステップ 3: アップロード用にアプリをパッケージ化する
最後に、ビルドしたテストファイルを .zip
ファイルに圧縮することにより、Test Lab へのアップロード用にテストをビルドしてパッケージ化します。
XCTest をビルドするには、ターミナルで次のコマンドを使用します。
プロジェクト
xcodebuild -project PATH/TO/YOUR_WORKSPACE.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
ワークスペース
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
テストが正常にビルドされたら、Test Lab にアップロードするために圧縮します。
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
テストは、テストファイルを手動で圧縮してパッケージ化することもできます。
Finder を開き、Derived Data の出力先に指定したディレクトリに移動します。
プロジェクト用に選択したフォルダを開き、その中の
Build/Products
フォルダを開きます。Debug-iphoneos
フォルダとPROJECT_NAME_iphoneosDEVELOPMENT_TARGET-arm64.xctestrun
フォルダを選択して圧縮します。
ステップ 4.(省略可)ローカルでテストを実行する
Test Lab でテストを実行する前に、USB 接続されたデバイスを使用してローカルでテストを実行し、その動作の品質を確認します。
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YourApp.xctestrun" \ -destination id=your-phone-id
次のステップ
Firebase コンソールまたは gcloud CLI で、テストをアップロードして実行する。