Menjalankan XCTest

Panduan ini menjelaskan cara menyiapkan XCTest untuk pengujian di Firebase Test Lab.

Langkah 1: Konfigurasikan lokasi Data Turunan project Anda

Xcode menempatkan artefak iOS yang dikompilasi, termasuk semua pengujian yang Anda build, di dalam direktori Data Turunan. Anda dapat menggunakan lokasi default untuk direktori itu jika Anda mau, tetapi biasanya akan lebih membantu jika Anda memilih tempat yang lebih mudah diakses untuk file tersebut, terutama jika Anda sering menjalankan pengujian dengan Test Lab:

  1. Buka project Anda di Xcode.
  2. Di panel menu macOS, pilih File > Project Settings...
  3. Ubah drop-down Derived Data dari Default Location ke Custom Location.
  4. Pada kolom di bawah drop-down, pilih lokasi Xcode untuk menampilkan hasil pengujian Anda. (Ini adalah FOLDER_WITH_TEST_OUTPUT Anda)

Langkah 2: Build file pengujian umum

Test Lab menjalankan pengujian unit dan pengujian UI menggunakan framework XCTest. Untuk menjalankan XCTest aplikasi pada perangkat Test Lab, buat XCTest untuk pengujian pada Perangkat iOS Generik:

  1. Dari drop-down perangkat di bagian atas jendela ruang kerja Xcode, pilih Generic iOS Device.
  2. Di panel menu macOS, pilih Product > Build For > Testing.

Sebagai alternatif, Anda dapat mem-build XCTest dari command line. Gunakan perintah berikut di terminal:

project

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

ruang kerja

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

Langkah 3: Tanda tangani pengujian Anda dan verifikasi

  1. Pastikan semua artefak dalam aplikasi dan pengujian ditandatangani. Misalnya, Anda dapat melakukannya melalui Xcode dengan menentukan setelan penandatanganan seperti penyediaan profil dan identitas. Untuk mengetahui informasi selengkapnya, lihat: Penandatanganan Kode Apple

  2. Verifikasi tanda tangan aplikasi dengan menjalankan codesign --verify --deep --verbose /path/to/MyApp.app dengan "MyApp" adalah nama aplikasi di dalam folder yang diekstrak. Opsi ini bervariasi untuk setiap project. Output yang diharapkan adalah MyApp.app: valid on disk.

  3. Jika menjalankan XCUITest, Anda harus memverifikasi pengujian dan runner dengan menjalankan codesign --verify --deep --verbose /path/to/MyTest-Runner.app dengan "MyTest" adalah nama runner di dalam folder yang diekstrak. Opsi ini bervariasi untuk setiap project. Output yang diharapkan adalah MyTest-Runner.app: valid on disk.

Langkah 4: Kemas aplikasi Anda dan uji untuk diupload

  1. Setelah pengujian berhasil di-build, kompres menjadi zip untuk diupload ke Test Lab:

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

Anda juga dapat mengemas pengujian dengan mengompresi file pengujian secara manual:

  1. Buka Finder dan buka FOLDER_WITH_TEST_OUTPUT.

  2. Buka folder yang memiliki nama project Anda sebagai awalan, lalu buka folder Build/Products di dalamnya.

  3. Pilih folder Debug-iphoneos dan YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun, lalu kompresi.

Langkah 5: (Opsional) Jalankan pengujian secara lokal

Sebelum menjalankan pengujian dengan Test Lab, Anda dapat menjalankannya secara lokal dengan perangkat yang terhubung ke USB untuk memeriksa perilakunya:

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

Langkah berikutnya

Upload dan jalankan pengujian Anda di Firebase console atau gcloud CLI.