Questa guida descrive come preparare un XCTest per i test in Firebase Test Lab.
Passaggio 1: configura la località dei dati derivati del progetto
Xcode inserisce gli artefatti iOS compilati, compresi eventuali test creati, in un Directory dei dati. Se vuoi, puoi mantenere la posizione predefinita per la directory, ma spesso è utile scegliere un luogo più facilmente accessibile per i file, soprattutto se eseguirai spesso test con Test Lab:
- Apri il progetto in Xcode.
- Nella barra dei menu di macOS, seleziona File > Impostazioni progetto...
- Modifica il menu a discesa Dati derivati da Posizione predefinita su Posizione personalizzata.
- Nel campo sotto il menu a discesa, seleziona una posizione per l'output da Xcode eseguire i test. (Questo è il tuo FOLDER_WITH_TEST_OUTPUT)
Passaggio 2: crea un file di test generico
Test Lab esegue test delle unità e test dell'interfaccia utente utilizzando il framework XCTest. Per eseguire gli XCTest della tua app su Test Lab dispositivi, crealo per i test su una Dispositivo iOS generico:
- Dal menu a discesa dei dispositivi nella parte superiore della finestra dell'area di lavoro Xcode, seleziona Dispositivo iOS generico.
- Nella barra dei menu di macOS, seleziona Prodotto > Build For > Test.
In alternativa, puoi creare il tuo XCTest dalla riga di comando. Utilizza 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
area 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 puoi farlo tramite Xcode, specificando le impostazioni di firma come il profilo di provisioning. e identità. Per ulteriori informazioni, vedi Firma del codice Apple.
Verifica la firma dell'app eseguendo
codesign --verify --deep --verbose /path/to/MyApp.app
dove "Miaapp" è la nome dell'app all'interno della cartella decompressa. Questo valore varia per ogni progetto. L'output previsto èMyApp.app: valid on disk
.Se esegui XCUITest, devi verificare il test ed eseguire eseguendo
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
in cui "Test" è il nome del runner all'interno della cartella decompressa. Questo varia per per ogni progetto. L'output previsto èMyTest-Runner.app: valid on disk
.
Passaggio 4: prepara la tua app e testa il caricamento
Dopo la creazione del test, 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 pacchettizzare il test comprimendo i file di test manualmente:
Apri il Finder e vai a
FOLDER_WITH_TEST_OUTPUT
.Apri la cartella che contiene il nome del tuo progetto come prefisso, poi vai alla
Build/Products
cartella all'interno.Seleziona le cartelle
Debug-iphoneos
eYOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
e poi comprimirli.
(Facoltativo) Passaggio 5: esegui il test in locale
Prima di eseguire il test con Test Lab, puoi eseguirlo localmente con un dispositivo collegato tramite USB per verificarne il comportamento:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
Passaggi successivi
Carica ed esegui il test nella console Firebase o gcloud CLI.