本指南介绍了如何准备 XCTest 测试,以在 Firebase Test Lab 中运行。
第 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 框架运行单元测试和界面测试。 如需在 Test Lab 设备上运行您应用的 XCTest,请将其构建为在通用 iOS 设备上进行测试:
- 从 Xcode 工作区窗口顶部的设备下拉列表中,选择“Generic iOS Device”(通用 iOS 设备)。
- 在 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 中上传并运行测试。