XCTest çalıştırın

Bu kılavuzda, Firebase Test Lab'te test için XCTest'in nasıl hazırlanacağı açıklanmaktadır.

1. adım: Projenizin türetilmiş veri konumunu yapılandırın

Xcode, derlediğiniz testler de dahil olmak üzere derlenmiş iOS yapılarını Türetilmiş Veriler dizinine yerleştirir. İsterseniz bu dizinin varsayılan konumunu koruyabilirsiniz ancak özellikle Test Lab ile sık sık test çalıştıracaksanız dosyalar için daha kolay erişilebilen bir yer seçmek genellikle yararlıdır:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda Dosya > Proje Ayarları...'nı seçin.
  3. türetilmiş veri açılır menüsünü varsayılan konum yerine özel konum olarak değiştirin.
  4. Açılır menünün altındaki alanda, Xcode'un testlerinizi oluşturacağı bir konum seçin. (Bu sizin FOLDER_WITH_TEST_OUTPUT)

2. Adım: Genel bir test dosyası oluşturun

Test Lab, XCTest çerçevesini kullanarak birim testleri ve kullanıcı arayüzü testleri çalıştırır. Uygulamanızın XCTests'ini Test Lab cihazlarda çalıştırmak için uygulamayı Genel iOS Cihaz'da test edilecek şekilde derleyin:

  1. Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır listesinden Genel iOS Cihazı'nı seçin.
  2. macOS menü çubuğunda Ürün > Derleme > Test'i seçin.

Alternatif olarak, XCTest'inizi komut satırından oluşturabilirsiniz. Terminalde aşağıdaki komutu kullanın:

proje

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

çalışma alanı

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

3. adım: Testinizi imzalayın ve doğrulayın

  1. Uygulama ve testteki tüm yapıların imzalandığından emin olun. Örneğin, hazırlık profili ve kimlik gibi imzalama ayarlarını belirterek bunu Xcode üzerinden yapabilirsiniz. Daha fazla bilgi için Apple Kod İmzası başlıklı makaleyi inceleyin.

  2. "Uygulamam", sıkıştırılmış klasördeki uygulamanın adı olmak üzere codesign --verify --deep --verbose /path/to/MyApp.app dosyasını çalıştırarak uygulama imzasını doğrulayın. Bu durum her proje için değişir. Beklenen çıkış MyApp.app: valid on disk.

  3. XCUITest çalıştırıyorsanız codesign --verify --deep --verbose /path/to/MyTest-Runner.app komutunu çalıştırarak testi ve çalıştırıcıyı doğrulamanız gerekir. Burada "Testim", sıkıştırılmış klasördeki çalıştırıcının adıdır. Bu süre her proje için değişir. Beklenen çıkış: MyTest-Runner.app: valid on disk.

4. adım: Uygulamanızı paketleyin ve yüklemeyi test edin

  1. Testiniz başarıyla oluşturulduktan sonra Test Lab adresine yüklemek için sıkıştırın:

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

Test dosyalarını manuel olarak sıkıştırarak da testinizi paketleyebilirsiniz:

  1. Finder'ı açıp FOLDER_WITH_TEST_OUTPUT'e gidin.

  2. Önek olarak proje adınızın bulunduğu klasörü açın, ardından içindeki Build/Products klasörüne gidin.

  3. Debug-iphoneos ve YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun klasörlerini seçip sıkıştırın.

5. adım: (İsteğe bağlı) Testinizi yerel olarak çalıştırın

Testinizi Test Lab ile çalıştırmadan önce, davranışını kalite kontrol etmek için USB'ye bağlı bir cihazla yerel olarak çalıştırabilirsiniz:

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

Sonraki adımlar

Testinizi Firebase konsolunda veya gcloud CLI'de yükleyip çalıştırın.