欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

运行 XCTest

本指南介绍了如何准备 XCTest 以在 Firebase 测试实验室中进行测试。

第 1 步:配置项目的派生数据位置

Xcode 将已编译的 iOS 工件(包括您构建的任何测试)放在 Derived Data 目录中。如果您愿意,可以保留该目录的默认位置,但为文件选择更易于访问的位置通常会有所帮助,特别是如果您要经常使用 Test Lab 运行测试:

  1. 在 Xcode 中打开您的项目。
  2. 在 macOS 菜单栏中,选择文件>项目设置...
  3. Derived Data下拉菜单从Default Location更改为Custom Location
  4. 在下拉列表下方的字段中,选择 Xcode 将测试输出到的位置。

第 2 步:构建通用测试文件

测试实验室使用XCTest框架运行单元测试和 UI 测试。要在测试实验室设备上运行您的应用程序的 XCTest,请构建它以在通用 iOS 设备上进行测试:

  1. 从 Xcode 工作区窗口顶部的设备下拉列表中,选择通用 iOS 设备。
  2. 在 macOS 菜单栏中,选择Product > Build For > Testing

第 3 步:打包您的应用以进行上传

最后,通过将您构建的测试文件压缩成.zip文件,构建并打包您的测试以上传到测试实验室。

  1. 要构建您的 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
  2. 成功构建测试后,将其压缩以上传到测试实验室:

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
    zip -r MyTests.zip Debug-iphoneos   YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
    

您还可以通过手动压缩测试文件来打包您的测试:

  1. 打开 Finder 并导航到您为衍生数据输出指定的目录。

  2. 打开您为项目选择的文件夹,然后打开其中的Build/Products文件夹。

  3. 选择文件夹Debug-iphoneosPROJECT_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 控制台gcloud CLI中上传并运行您的测试。