Includi test delle unità e delle funzionalità

Questa sezione spiega come eseguire e contribuire ai test della Federazione commerciale dopo aver apportato una modifica al progetto. Ad esempio:

  • Dove aggiungere le nuove classi di test delle unità
  • Esecuzione di test delle unità in Eclipse e al di fuori dell'IDE Eclipse
  • Dove aggiungere i test funzionali
  • Esecuzione dei test funzionali
  • Esecuzione di alcune convalide pre-invio di TF a livello locale

Aggiungi test delle unità

Nell'Android Open Source Project (AOSP), aggiungi la classe dei test delle unità in: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java

IMPORTANTE: l'aggiunta di nuove classi di test delle unità a queste località comporterà vengono eseguiti automaticamente prima dell'invio senza alcuna configurazione aggiuntiva.

Esecuzione dei test delle unità

Tutti i test delle unità AOSP e i test funzionali per la Trade Federation si trovano in: il tools/tradefederation/core/tests progetto.

In Eclipse, per eseguire un test di una singola unità, fai clic con il tasto destro del mouse sul test e seleziona Esegui come > JUnit. Per eseguire tutti i test delle unità, esegui com.android.tradefed.UnitTests.

Puoi anche avviare il test delle unità dalla riga di comando nell'origine scambiata albero dopo averlo costruito, in questo modo: tools/tradefederation/core/javatests/run_tradefed_tests.sh

I test delle unità possono essere eseguiti in modo autonomo, mentre i test funzionali dovrebbero essere eseguiti utilizzando la Federazione commerciale stessa; richiedono un dispositivo Android. Tutti funzionali i test devono seguire la convenzione di denominazione *FuncTest.

Controllare i risultati dei test delle unità

Quando si esegue run_tradefed_tests.sh, i test delle unità si svolgono in tutte le parti del test, incluse alcune condizioni di errore. Verrà stampato un output dettagliato alla console, incluse le analisi dello stack.

Il riepilogo finale dei risultati indicherà se si è verificato un errore.

Riepilogo finale di esempio nella console:

12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]

Tutti i test vengono mantenuti per superarli, quindi se si verifica un errore nella modifica locale assicurati che i test siano stati corretti.

Aggiungi test funzionali

  • Se il test funzionale riguarda un dispositivo (utilizza un'API ITestDevice), il la definizione della suite si trova in com.android.tradefed.DeviceFuncTests. In caso contrario, la definizione della suite si trova in com.android.tradefed.FuncTests.

  • Se i tuoi metodi di test hanno senso inserire in una delle sottoclassi della suite esistenti, preferisco aggiungerlo lì. In caso contrario, aggiungi un nuovo corso all'elenco suite.

  • In ogni caso, aggiungendolo alla suite, il test viene eseguito automaticamente nella pipeline CI con gli altri test funzionali.

Esegui test funzionali

Per eseguire un test funzionale da Eclipse:

  1. Assicurati che un dispositivo sia connesso all'host e che adb e, se necessario fastboot si trovano nel PATH di Eclissi. Il modo più semplice per farlo è lanciare Eclissi da una configurazione della shell con il PATH corretto.
  2. Creare un'applicazione Java. Esegui la configurazione tramite Esegui > Corsa configurazioni.
  3. Imposta il progetto su tradefed-tests e la classe principale su com.android.tradefed.command.CommandRunner.
  4. Esegui m tradefed-all.
  5. Fornisci i seguenti argomenti della riga di comando nella scheda Argomenti: host --class <full path of test class to run>
  6. Fai clic su Esegui.

Per eseguire test funzionali al di fuori di Eclipse.

  1. Costruisci una federazione commerciale.
  2. Collega un dispositivo Android all'host.
  3. Esegui tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
  4. Se vuoi, scegli il dispositivo aggiungendo --serial <serial no> come nome viene visualizzato nell'output di adb devices.

Eseguire test pre-invio di TF in base alle modifiche locali

Se vuoi eseguirlo in modo simile a come avviene il pre-invio di TF, utilizza questo:

tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh

In questo modo verranno attivati tutti i test pre-invio di TF sul tuo TF creato localmente per ad aiutarti a verificare che la modifica non violi alcun test.

I test pre-invio TF sono un soprainsieme dei test delle unità precedenti, ma sono più lenti eseguirle. Consigliamo quindi di eseguire i test delle unità durante lo sviluppo una convalida più rapida ed eseguire i pre-invio prima di caricare il CL.