了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Bir XCTest çalıştırın

Bu kılavuz, bir XCTest'in Firebase Test Lab'de test edilmek üzere nasıl hazırlanacağını açıklar.

Adım 1 : Projenizin Türetilmiş Veri konumunu yapılandırın

Xcode, oluşturduğunuz tüm testler dahil olmak üzere derlenmiş iOS yapıtlarını bir Türetilmiş Veri dizinine yerleştirir. İsterseniz bu dizin için varsayılan konumu korumak mümkündür, ancak özellikle Test Lab ile sık sık testler yapacaksanız, dosyalar için daha kolay erişilebilir bir yer seçmek genellikle yardımcı olur:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda Dosya > Proje Ayarları... öğesini 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 listenin altındaki alanda, Xcode için testlerinizin çıktısını alacağınız 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 UI testleri yürütür. Uygulamanızın XCTest'lerini Test Laboratuvarı cihazlarında çalıştırmak için, onu bir Genel iOS Cihazında test etmek üzere oluşturun:

  1. Xcode çalışma alanı pencerenizin üst kısmındaki açılır menüden Genel iOS Aygıtı öğesini seçin.
  2. macOS menü çubuğunda Product > Build For > Testing öğesini seçin.

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. Uygulamadaki ve testteki tüm yapıların imzalandığından emin olun. Örneğin, provizyon profili ve kimlik gibi imzalama ayarlarını belirterek Xcode aracılığıyla bunu yapabilirsiniz. Daha fazla bilgi için bkz. Apple Kod İmzalama .

  2. codesign --verify --deep --verbose /path/to/MyApp.app çalıştırarak uygulama imzasını doğrulayın; burada "Uygulamam" sıkıştırılmış klasör içindeki uygulamanın adıdır. Bu her proje için değişir. Beklenen çıktı MyApp.app: valid on disk .

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

4. Adım : Uygulamanızı paketleyin ve yüklemek için test edin

  1. Testiniz başarıyla oluşturulduktan sonra Test Laboratuvarı'na 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çın ve FOLDER_WITH_TEST_OUTPUT konumuna 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 _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun klasörlerini seçin ve 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ü için USB bağlantı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 konsoluna veya gcloud CLI'ye yükleyin ve çalıştırın.