Esegui un XCTest

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:

  1. Apri il progetto in Xcode.
  2. Nella barra dei menu di macOS, seleziona File > Impostazioni progetto...
  3. Modifica il menu a discesa Dati derivati da Posizione predefinita su Posizione personalizzata.
  4. 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:

  1. Dal menu a discesa dei dispositivi nella parte superiore della finestra dell'area di lavoro Xcode, seleziona Dispositivo iOS generico.
  2. 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

  1. 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.

  2. 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.

  3. 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

  1. 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:

  1. Apri il Finder e vai a FOLDER_WITH_TEST_OUTPUT.

  2. Apri la cartella che contiene il nome del tuo progetto come prefisso, poi vai alla Build/Products cartella all'interno.

  3. Seleziona le cartelle Debug-iphoneos e YOUR_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.