Chạy XCTest

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

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 hoạt động kiểm thử mà bạn tạo, vào một thư mục Dữ liệu phái sinh. Nếu muốn, bạn có thể giữ vị trí mặc định cho thư mục đó. Tuy nhiên, 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à trong trường hợp bạn thường xuyên chạy kiểm thử bằng Phòng thử nghiệm:

  1. Mở dự án của bạn trong Xcode.
  2. Trong thanh trình đơn của 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 xuất phát 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í cho Xcode để xuất mã kiểm thử của bạn sang. (Đây là FOLDER_WITH_TEST_OUTPUT của bạn)

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

Phòng thử nghiệm 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 XCTests của ứng dụng trên các thiết bị trong Phòng thử nghiệm, hãy tạo bản dựng để kiểm thử trên một Thiết bị iOS chung:

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

Thay vào đó, bạn có thể tạo XCTest từ dòng lệnh. Sử dụng lệnh sau trong thiết bị đầu cuối:

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ý tên thử nghiệm và xác minh

  1. Đảm bảo tất cả cấu phần phần mềm trong ứng dụng và hoạt động 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ơ cấp phép và danh tính. Để biết thêm thông tin, hãy xem bài viết Tính năng 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 cho 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, thì bạn cần xác minh trình chạy và kiểm thử 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. Điều này thay đổi tuỳ theo từng dự án. Kết quả đầu ra dự kiến là MyTest-Runner.app: valid on disk.

Bước 4: Đóng gói ứng dụng của bạn và thử nghiệm để tải lên

  1. Sau khi tạo bản thử nghiệm thành công, hãy nén bản thử nghiệm để tải lên Phòng thử nghiệm:

    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 chương trình kiểm thử bằng cách nén tệp kiểm thử theo cách thủ công:

  1. Mở Finder và chuyển đến FOLDER_WITH_TEST_OUTPUT.

  2. Mở thư mục có tiền tố là tên dự án, 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 các thư mục đó.

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

Trước khi chạy kiểm thử bằng Test Lab, bạn có thể chạy kiểm thử trên thiết bị có kết nối USB để kiểm tra chất lượng hành vi của 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 thử nghiệm trong bảng điều khiển của Firebase hoặc gcloud CLI.