Chạy XCTest

Hướng dẫn này mô tả cách chuẩn bị XCTest để kiểm thử trong Firebase Test Lab.

Bước 1: Định cấu hình vị trí Dữ liệu phái sinh của dự án

Xcode đặt các cấu phần phần mềm iOS đã biên dịch (bao gồm cả mọi kiểm thử mà bạn tạo) trong thư mục DerivedData. Bạn có thể giữ vị trí mặc định cho thư mục đó nếu muốn, nhưng thường thì bạn nên chọn một vị trí dễ truy cập hơn cho các tệp, đặc biệt là nếu bạn sẽ thường xuyên chạy các thử nghiệm bằng Test Lab:

  1. Mở dự án của bạn trong Xcode.
  2. Trong thanh trình đơn macOS, hãy chọn File (Tệp) > Project Settings... (Cài đặt dự án...)
  3. Thay đổi trình đơn thả xuống Dữ liệu phái sinh từ Vị trí mặc định thành Vị trí tuỳ chỉnh.
  4. Trong trường bên dưới trình đơn thả xuống, hãy chọn một vị trí để Xcode xuất các kiểm thử của bạn. (Đây là FOLDER_WITH_TEST_OUTPUT của bạn)

Bước 2: Tạo một tệp kiểm thử chung

Test Lab chạy các bài kiểm thử đơn vị và kiểm thử giao diện người dùng bằng khung XCTest. Để chạy XCTest của ứng dụng trên các thiết bị Test Lab, hãy tạo bản dựng để kiểm thử trên một Thiết bị iOS chung:

  1. Trong trình đơn thả xuống thiết bị ở đầu cửa sổ không gian làm việc Xcode, hãy chọn Generic iOS Device (Thiết bị iOS chung).
  2. Trong thanh trình đơn macOS, hãy chọn Product (Sản phẩm) > Build For (Xây dựng cho) > Testing (Thử nghiệm).

Ngoài ra, bạn có thể tạo XCTest qua dòng lệnh. Sử dụng lệnh sau trong một cửa sổ dòng lệnh:

dự án

xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

không gian làm việc

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \
   -scheme YOUR_SCHEME \
   -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
   -sdk iphoneos build-for-testing

Bước 3: Ký và xác minh thử nghiệm

  1. Đảm bảo rằng tất cả các cấu phần phần mềm trong ứng dụng và kiểm thử đều được ký. Ví dụ: bạn có thể thực hiện việc này thông qua Xcode bằng cách chỉ định các chế độ cài đặt ký như hồ sơ cung cấp và danh tính. Để biết thêm thông tin, hãy xem bài viết Ký mã của Apple.

  2. Xác minh chữ ký ứng dụng bằng cách chạy codesign --verify --deep --verbose /path/to/MyApp.app, trong đó "MyApp" là tên của ứng dụng bên trong thư mục đã giải nén. Điều này thay đổi tuỳ theo từng dự án. Kết quả đầu ra dự kiến là MyApp.app: valid on disk.

  3. Nếu đang chạy XCUITest, bạn cần xác minh quy trình kiểm thử và trình chạy bằng cách chạy codesign --verify --deep --verbose /path/to/MyTest-Runner.app, trong đó "MyTest" là tên của trình chạy bên trong thư mục đã giải nén. Mỗi dự án sẽ có một mức phí khác nhau. Kết quả đầu ra dự kiến là MyTest-Runner.app: valid on disk.

Bước 4: Đóng gói ứng dụng và kiểm thử để tải lên

  1. Sau khi kiểm thử thành công, hãy nén kiểm thử để tải lên Test Lab:

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

Bạn cũng có thể đóng gói bài kiểm thử bằng cách nén các tệp kiểm thử theo cách thủ công:

  1. Mở Finder rồi chuyển đến FOLDER_WITH_TEST_OUTPUT.

  2. Mở thư mục có tên dự án của bạn làm tiền tố, sau đó chuyển đến thư mục Build/Products bên trong.

  3. Chọn các thư mục Debug-iphoneosYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun rồi nén chúng.

Bước 5: (Không bắt buộc) Chạy thử nghiệm cục bộ

Trước khi chạy thử nghiệm bằng Test Lab, bạn có thể chạy thử nghiệm cục bộ bằng một thiết bị kết nối qua USB để kiểm tra chất lượng hành vi của thử nghiệm:

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
    -destination id=your-phone-id

Các bước tiếp theo

Tải lên và chạy kiểm thử trong bảng điều khiển Firebase hoặc giao diện dòng lệnh gcloud.