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:
- Projenizi Xcode'da açın.
- macOS menü çubuğunda File (Dosya) > Project Settings... (Proje Ayarları...) seçeneğini belirleyin.
- Türetilen Veriler açılır menüsünü Varsayılan Konum'dan Özel Konum'a değiştirin.
- 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:
- Xcode çalışma alanı pencerenizin üst kısmındaki cihaz açılır menüsünden Genel iOS Cihaz'ı seçin.
- 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
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.
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
.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
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çıp
FOLDER_WITH_TEST_OUTPUT
adresine gidin.Önek olarak proje adınızın bulunduğu klasörü açın, ardından içindeki
Build/Products
klasörüne gidin.Debug-iphoneos
veYOUR_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.