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 Test Lab ile testler çalıştıracaksanız, dosyalar için sıklıkla:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda Dosya > Proje Ayarları...
  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) olarak değiştirildi

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

Test Lab, XCTest çerçevesi ile test edin. Uygulamanızın XCTest'lerini Test Lab cihazlarında çalıştırmak için uygulamanızı 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 bkz. Apple Kod İmzalama

  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 derlendikten sonra Test Lab'e yüklemek üzere bunu 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çın ve şuraya gidin: FOLDER_WITH_TEST_OUTPUT

  2. Önek olarak proje adınızı içeren klasörü açın ve ardından şuraya gidin: Build/Products klasör içinde.

  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 yerel olarak 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ı seçin.