XCTest çalıştırın

Bu kılavuzda, test amaçlı bir XCTest'in nasıl hazırlanacağı Firebase Test Lab

1. Adım: Projenizin Türetilen Veri konumunu yapılandırın

Xcode, oluşturduğunuz tüm testler dahil olmak üzere, derlenen iOS yapılarını Türetilmiş Veri dizini. Bu dizinin varsayılan konumunu koruyabilirsiniz. yapabilirsiniz ancak çoğu zaman daha kolay ulaşılabilen bir yer seçmek (özellikle de Test Lab ile test çalıştıracaksanız) sıklıkla:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda Dosya > Proje Ayarları...'nı seçin.
  3. Türetilen Veriler açılır menüsünü Varsayılan Konum'u Özel Konum olarak ayarlayın.
  4. Açılır menünün altındaki alanda Xcode'un çıktısı için bir konum seçin uygulayacaksınız. (Bu sizin FOLDER_WITH_TEST_OUTPUT)

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

Test Lab, XCTest çerçevesi ile test edin. Uygulamanızın XCTest'lerini Test Lab cihazlarda çalıştırmak için Genel iOS Cihaz:

  1. Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünde, Genel iOS Cihaz.
  2. macOS menü çubuğunda Ürün > Derleme Amacı > Test.

Alternatif olarak, XCTest'inizi komut satırından oluşturabilirsiniz. Bir 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, şunları yapabilirsiniz: temel hazırlık profili gibi imzalama ayarlarını belirterek bunu Xcode üzerinden yapabilirsiniz. ve kimlikle ilgilidir. Daha fazla bilgi için Apple Kod İmzası başlıklı makaleyi inceleyin.

  2. Şu komutu çalıştırarak uygulama imzasını doğrulayın: codesign --verify --deep --verbose /path/to/MyApp.app; burada "Uygulamam" , sıkıştırılmış klasörün içine uygulamanın adını yazın. Bu, projeden projeye değişir. Beklenen çıkış: MyApp.app: valid on disk.

  3. XCUITest kullanıyorsanız test ve çalıştırıcıyı doğrulamanız gerekir codesign --verify --deep --verbose /path/to/MyTest-Runner.app komutunu çalıştırarak "Testim" sıkıştırılmış klasörün içindeki koşucunun adıdır. Bu değer, nasıl hazırlayacağınızı öğrenin. Beklenen çıkış: MyTest-Runner.app: valid on disk.

4. Adım: Uygulamanızı paketleyin ve yükleme için 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
    

Ayrıca, test dosyalarını manuel olarak sıkıştırarak testinizi paketleyebilirsiniz:

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

  2. Ön ek 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 klasörlerini seçin ve YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun ve sonra bunları sıkıştırıyorum.

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

Test Lab ile çalıştırmadan önce testinizi davranışı kontrol etmek için USB ile bağlı bir cihaz:

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

Sonraki adımlar

Testinizi Firebase konsoluna yükleyip çalıştırın veya gcloud KSA'yı kullanın.