XCTest çalıştırın

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

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 dizinine yerleştirir. İsterseniz bu dizin için varsayılan konumu saklayabilirsiniz, ancak özellikle Test Lab ile sık sık test çalıştıracaksanız dosyalar için daha kolay erişilebilir bir yer seçmek genellikle yararlı olur:

  1. Projenizi Xcode'da açın.
  2. macOS menü çubuğunda File (Dosya) > Project Settings... (Proje Ayarları...) seçeneğini belirleyin.
  3. Türetilen Veriler açılır menüsünü Varsayılan Konum'dan Özel Konum'a değiştirin.
  4. Açılır menünün altındaki alanda, Xcode'un testlerinizin çıktısını 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 XCTest'lerini Test Lab cihazlarında çalıştırmak için uygulamayı genel bir iOS cihazda test etmek üzere derleyin:

  1. Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünden Genel iOS Cihaz'ı seçin.
  2. macOS menü çubuğunda, Ürün > Derleme İçin Derle > Test'i 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. Uygulama ve testteki tüm yapıların imzalandığından emin olun. Örneğin, temel hazırlık profili ve kimlik gibi imzalama ayarlarını belirterek bunu Xcode üzerinden yapabilirsiniz. Daha fazla bilgi için Apple Kod İmzalama bölümünü inceleyin.

  2. Uygulama imzasını doğrulamak için codesign --verify --deep --verbose /path/to/MyApp.app komutunu çalıştırın. Burada "Uygulamam", sıkıştırılmış klasördeki uygulamanın adıdır. Bu, projeden projeye değişir. Beklenen çıkış: 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 çalıştırıcıyı doğrulamanız gerekir. Burada "MyTest", sıkıştırılmış klasörün içindeki koşucu adıdır. Bu durum projeden projeye değişir. 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çıp FOLDER_WITH_TEST_OUTPUT adresine 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

Test Lab ile testinizi çalıştırmadan önce, davranışını kalite kontrolü yapmak 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ükleyip çalıştırın.