Bu kılavuzda, Firebase Test Lab uygulamasında test etmek için XCTest'in nasıl hazırlanacağı açıklanmaktadır.
1. adım: Projenizin türetilmiş veri konumunu yapılandırın
Xcode, oluşturduğunuz testler de dahil olmak üzere derlenmiş iOS yapılarını Derived Data dizinine yerleştirir. İsterseniz bu dizinin varsayılan konumunu koruyabilirsiniz ancak özellikle Test Lab ile sık sık test yapacaksanız dosyalar için daha kolay erişilebilir bir yer seçmek genellikle faydalı olur:
- Projenizi Xcode'da açın.
- macOS menü çubuğunda File (Dosya) > Project Settings... (Proje Ayarları...) seçeneğini belirleyin.
- Derived Data (Türetilmiş Veriler) açılır menüsünü Default Location'dan (Varsayılan Konum) Custom Location'a (Özel Konum) değiştirin.
- Açılır menünün altındaki alanda, Xcode'un testlerinizi göndereceği 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 cihazlarda çalıştırmak için uygulamayı genel bir iOS cihazda test edilecek şekilde derleyin:
- Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünden Generic iOS Device'ı (Genel iOS Cihazı) seçin.
- macOS menü çubuğunda Product (Ürün) > Build For (Derleme Hedefi) > Testing'i (Test) seçin.
Alternatif olarak, XCTest'inizi komut satırından oluşturabilirsiniz. Terminalde aşağıdaki komutu kullanın:
proje
xcodebuild -project PATH/TO/YOUR_WORKSPACE/PROJECT_NAME.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
Uygulamadaki 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 başlıklı makaleyi inceleyin.
codesign --verify --deep --verbose /path/to/MyApp.appkomutunu çalıştırarak uygulama imzasını doğrulayın. "MyApp", sıkıştırılmış klasörün içindeki uygulamanın adıdır. Bu, her proje için farklıdır. Beklenen çıkış:MyApp.app: valid on disk.XCUITest çalıştırıyorsanız
codesign --verify --deep --verbose /path/to/MyTest-Runner.appkomutunu çalıştırarak testi ve çalıştırıcıyı doğrulamanız gerekir. Burada "MyTest", sıkıştırılmamış klasördeki çalıştırıcının adıdır. Bu, her proje için farklıdır. 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 platformuna 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:
Finder'ı açıp
FOLDER_WITH_TEST_OUTPUTkonumuna gidin.Projenizin adını ön ek olarak içeren klasörü açın, ardından içindeki
Build/Productsklasörüne gidin.Debug-iphoneosveYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrunklasörlerini seçip 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ünden geçirmek için USB ile bağlı bir cihazla yerel olarak çalıştırabilirsiniz:
xcodebuild test-without-building \
-xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
-destination id=your-phone-idSonraki adımlar
Testinizi Firebase konsolunda veya gcloud CLI'da yükleyip çalıştırın.