本指南介紹如何準備 XCTest 以在 Firebase 測試實驗室中進行測試。
第 1 步:配置項目的派生資料位置
Xcode 將編譯的 iOS 工件(包括您建立的任何測試)放置在派生資料目錄中。如果您願意,可以保留目錄的預設位置,但為檔案選擇一個更容易存取的位置通常會很有幫助,特別是如果您要經常使用測試實驗室運行測試的話:
- 在 Xcode 中開啟您的專案。
- 在 macOS 功能表列中,選擇“檔案” > “專案設定...”
- 將派生資料下拉清單從預設位置變更為自訂位置。
- 在下拉清單下方的欄位中,選擇 Xcode 輸出測試的位置。 (這是您的FOLDER_WITH_TEST_OUTPUT )
第 2 步:建立通用測試文件
測試實驗室使用XCTest框架執行單元測試和 UI 測試。要在測試實驗室裝置上運行應用程式的 XCTest,請建立它以在通用 iOS 裝置上進行測試:
- 從 Xcode 工作區視窗頂部的裝置下拉清單中,選擇Generic iOS Device 。
- 在 macOS 功能表列中,選擇「產品」 > “建置” > “測試” 。
作為替代方案,您可以從命令列建立 XCTest。在終端機中使用以下命令:
專案
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.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
第 3 步:簽署測試並驗證
確保應用程式和測試中的所有工件都已簽署。例如,您可以透過 Xcode 指定設定檔和身分等簽章設定來執行此操作。有關更多信息,請參閱Apple 代碼簽名。
透過執行
codesign --verify --deep --verbose /path/to/MyApp.app
驗證應用程式簽名,其中「MyApp」是解壓縮資料夾中應用程式的名稱。這因每個項目而異。預期輸出為MyApp.app: valid on disk
。如果您正在執行 XCUITest,則需要透過執行
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
來驗證測試和執行程序,其中「MyTest」是執行程式內部的名稱解壓縮後的資料夾。這因每個項目而異。預期輸出為MyTest-Runner.app: valid on disk
。
第 4 步:打包您的應用程式並測試上傳
成功建置測試後,將其壓縮以上傳到測試實驗室:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
您也可以透過手動壓縮測試檔案來打包測試:
開啟 Finder 並導航至
FOLDER_WITH_TEST_OUTPUT
。開啟以您的專案名稱作為前綴的資料夾,然後導覽至其中的
Build/Products
資料夾。選擇資料夾
Debug-iphoneos
和YOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
並壓縮它們。
第 5 步:(可選)在本地運行測試
在使用測試實驗室運行測試之前,您可以使用 USB 連接裝置在本地運行它以檢查其行為的品質:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
下一步
在Firebase 控制台或gcloud CLI中上傳並執行測試。