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:
- Projenizi Xcode'da açın.
- macOS menü çubuğunda Dosya > Proje Ayarları...'nı seçin.
- Türetilen Veriler açılır menüsünü Varsayılan Konum'u Özel Konum olarak ayarlayın.
- 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:
- Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünde, Genel iOS Cihaz.
- 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
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.
Ş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
.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
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:
Finder'ı açıp
FOLDER_WITH_TEST_OUTPUT
'e gidin.Ön ek olarak proje adınızın bulunduğu klasörü açın, ardından içindeki
Build/Products
klasörüne gidin.Debug-iphoneos
klasörlerini seçin veYOUR_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.