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 mọi quy trình kiểm thử mà bạn tạo) vào một thư mục Dữ liệu phái sinh. 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 thường xuyên chạy quy trình kiểm thử bằng Test Lab thường xuyên:

  1. Mở dự án trong Xcode.
  2. Trong thanh trình đơn macOS, hãy chọn File > Project Settings...
  3. Thay đổi trình đơn thả xuống Derived Data (Dữ liệu phái sinh) từ Default Location (Vị trí mặc định) thành Custom Location (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 quy trình kiểm thử của bạn. (Đây là FOLDER_WITH_TEST_OUTPUT)

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

Test Lab chạy các quy trình 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 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.
  2. Trong thanh trình đơn macOS, hãy chọn Product > Build For > Testing (Sản phẩm > Tạo cho > Kiểm thử).

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

dự án

xcodebuild -project PATH/TO/YOUR_WORKSPACE/PROJECT_NAME.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 quy trình kiểm thử

  1. Đảm bảo tất cả cấu phần phần mềm trong ứng dụng và quy trình 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ã 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. Quá trình này sẽ khác nhau tuỳ theo từng dự án. Kết quả dự kiến là MyApp.app: valid on disk.

  3. Nếu bạn đang chạy XCUITest, thì 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. Quá trình này sẽ khác nhau tuỳ theo từng dự án. Kết quả dự kiến là MyTest-Runner.app: valid on disk.

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

  1. Sau khi quy trình kiểm thử tạo thành công, hãy nén quy trình 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 quy trình kiểm thử bằng cách nén các tệp kiểm thử theo cách thủ công:

  1. Mở Trình tìm kiếm và chuyển đến FOLDER_WITH_TEST_OUTPUT.

  2. Mở thư mục có tên dự á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 sau đó nén các thư mục đó.

Bước 5: (Không bắt buộc) Chạy quy trình kiểm thử cục bộ

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

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 quy trình kiểm thử trong Firebase bảng điều khiển hoặc CLI gcloud.