このガイドでは、Firebase TestLabでテストするためのXCTestを準備する方法について説明します。
ステップ1 :プロジェクトの派生データの場所を構成する
Xcodeは、コンパイルされたiOSアーティファクト(作成したテストを含む)をDerivedDataディレクトリに配置します。必要に応じて、そのディレクトリのデフォルトの場所を維持することもできますが、特にTest Labでテストを頻繁に実行する場合は、ファイルのアクセスしやすい場所を選択すると便利です。
- Xcodeでプロジェクトを開きます。
- macOSメニューバーで、[ファイル]> [プロジェクト設定...]を選択します。
- [派生データ]ドロップダウンを[デフォルトの場所]から[カスタムの場所]に変更します。
- ドロップダウンの下のフィールドで、テストを出力するXcodeの場所を選択します。
ステップ2 :一般的なテストファイルを作成する
Test Labは、 XCTestフレームワークを使用して単体テストとUIテストを実行します。 Test LabデバイスでアプリのXCTestsを実行するには、汎用iOSデバイスでテストするためにアプリをビルドします。
- Xcodeワークスペースウィンドウの上部にあるデバイスドロップダウンから、[汎用iOSデバイス]を選択します。
- macOSメニューバーで、[製品]> [ビルド対象]> [テスト]を選択します。
ステップ3 :アップロード用にアプリをパッケージ化します
最後に、作成したテストファイルを.zip
ファイルに圧縮して、TestLabにアップロードするためのテストを作成してパッケージ化します。
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
テストが正常にビルドされたら、テストラボにアップロードするために圧縮します。
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
テストファイルを手動で圧縮して、テストをパッケージ化することもできます。
Finderを開き、派生データ出力用に指定したディレクトリに移動します。
プロジェクト用に選択したフォルダーを開き、その中の
Build/Products
フォルダーを開きます。Debug-iphoneos
フォルダーとPROJECT_NAME _iphoneos DEVELOPMENT_TARGET -arm64.xctestrun
フォルダーを選択し、それらを圧縮します。
ステップ4.(オプション)ローカルでテストを実行します
Test Labでテストを実行する前に、USB接続デバイスを使用してローカルでテストを実行し、その動作の品質を確認できます。
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YourApp.xctestrun" \ -destination id=your-phone-id
次のステップ
FirebaseコンソールまたはgcloudCLIでテストをアップロードして実行します。