Questa guida descrive come preparare un XCTest per i test in Firebase Test Lab.
Passaggio 1 : configura la posizione dei dati derivati del tuo progetto
Xcode inserisce gli artefatti iOS compilati, inclusi eventuali test creati, in una directory di dati derivati. È possibile mantenere la posizione predefinita per quella directory, se lo desideri, ma spesso è utile scegliere una posizione più facilmente accessibile per i file, soprattutto se eseguirai spesso test con Test Lab:
- Apri il tuo progetto in Xcode.
- Nella barra dei menu di macOS, seleziona File > Impostazioni progetto...
- Modificare il menu a discesa Dati derivati da Posizione predefinita a Posizione personalizzata .
- Nel campo sotto il menu a discesa, seleziona una posizione in cui Xcode effettuerà l'output dei test. (Questa è la tua FOLDER_WITH_TEST_OUTPUT )
Passaggio 2 : crea un file di test generico
Test Lab esegue test unitari e test dell'interfaccia utente utilizzando il framework XCTest . Per eseguire gli XCTest della tua app sui dispositivi Test Lab, creala per il test su un dispositivo iOS generico:
- Dal menu a discesa del dispositivo nella parte superiore della finestra dell'area di lavoro Xcode, seleziona Dispositivo iOS generico .
- Nella barra dei menu di macOS, seleziona Prodotto > Crea per > Test .
In alternativa, puoi creare il tuo XCTest dalla riga di comando. Utilizzare il seguente comando in un terminale:
progetto
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
spazio di lavoro
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
Passaggio 3 : firma il test e verifica
Assicurati che tutti gli elementi nell'app e nel test siano firmati. Ad esempio, puoi farlo tramite Xcode specificando le impostazioni di firma come profilo di provisioning e identità. Per ulteriori informazioni, consulta Firma del codice Apple .
Verifica la firma dell'app eseguendo
codesign --verify --deep --verbose /path/to/MyApp.app
dove "MyApp" è il nome dell'app all'interno della cartella decompressa. Questo varia per ogni progetto. L'output previsto èMyApp.app: valid on disk
.Se stai eseguendo un XCUITest, devi verificare il test e il corridore eseguendo
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
dove "MyTest" è il nome del corridore all'interno del cartella decompressa. Questo varia per ogni progetto. L'output previsto èMyTest-Runner.app: valid on disk
.
Passaggio 4 : crea il pacchetto della tua app e verifica il caricamento
Dopo che il test è stato creato correttamente, comprimilo per caricarlo su Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
Puoi anche impacchettare il tuo test comprimendo manualmente i file di test:
Apri Finder e vai a
FOLDER_WITH_TEST_OUTPUT
.Apri la cartella che ha il nome del tuo progetto come prefisso, quindi vai alla cartella
Build/Products
all'interno.Seleziona le cartelle
Debug-iphoneos
eYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
e poi comprimile.
Passaggio 5 : (facoltativo) esegui il test localmente
Prima di eseguire il test con Test Lab, puoi eseguirlo localmente con un dispositivo connesso tramite USB per verificarne il comportamento:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Prossimi passi
Carica ed esegui il test nella console Firebase o nella CLI gcloud .