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:
- Projenizi Xcode'da açın.
- macOS menü çubuğunda Dosya > Proje Ayarları...
- 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) 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:
- 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 bkz. Apple Kod İmzalama
Ş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 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:
Finder'ı açın ve şuraya gidin:
FOLDER_WITH_TEST_OUTPUT
Önek olarak proje adınızı içeren klasörü açın ve ardından şuraya gidin:
Build/Products
klasör içinde.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 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.