Bir XCTest çalıştırın

Bu kılavuzda, Firebase Test Lab'da test edilmek üzere bir XCTest'in nasıl hazırlanacağı açıklanmaktadır.

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

Xcode, oluşturduğunuz testler de dahil olmak üzere derlenmiş iOS yapıtlarını 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şilebilen bir yer seçmek genellikle yararlı olur:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda Dosya > Proje Ayarları... öğesini seçin.
  3. Türetilmiş Veriler 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 testlerinizin çıktısını alacağı konumu seçin. (Bu sizin FOLDER_WITH_TEST_OUTPUT )

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

Test Lab, XCTest çerçevesini kullanarak birim testleri ve kullanıcı arayüzü testleri gerçekleştirir. Uygulamanızın XCTest'lerini Test Lab cihazlarında çalıştırmak için uygulamayı Genel bir iOS Cihazında test etmek üzere oluşturun:

  1. Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünden Genel iOS Cihazı öğesini seçin.
  2. macOS menü çubuğunda Ürün > Oluşturma Amaçlı > Test Etme öğ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, profil hazırlığı ve kimlik gibi imzalama ayarlarını belirterek bunu Xcode aracılığıyla 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 projeye göre değişir. Beklenen çıktı şudur MyApp.app: valid on disk .

  3. Bir XCUITest çalıştırıyorsanız, codesign --verify --deep --verbose /path/to/MyTest-Runner.app komutunu çalıştırarak testi ve koşucuyu doğrulamanız gerekir; burada "MyTest", XCUITest içindeki koşucunun adıdır. sıkıştırılmış klasör. Bu her projeye göre değişir. Beklenen çıktı şudur 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'e 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ı içeren 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 ardından bunları 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 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.