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 incom.android.tradefed.DeviceFuncTests
. In caso contrario, la definizione della suite si trova incom.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:
- Assicurati che un dispositivo sia connesso all'host e che
adb
e, se necessariofastboot
si trovano nel PATH di Eclissi. Il modo più semplice per farlo è lanciare Eclissi da una configurazione della shell con il PATH corretto. - Creare un'applicazione Java. Esegui la configurazione tramite Esegui > Corsa configurazioni.
- Imposta il progetto su
tradefed-tests
e la classe principale sucom.android.tradefed.command.CommandRunner
. - Esegui
m tradefed-all
. - Fornisci i seguenti argomenti della riga di comando nella scheda Argomenti:
host --class <full path of test class to run>
- Fai clic su Esegui.
Per eseguire test funzionali al di fuori di Eclipse.
- Costruisci una federazione commerciale.
- Collega un dispositivo Android all'host.
- Esegui
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
- Se vuoi, scegli il dispositivo aggiungendo
--serial <serial no>
come nome viene visualizzato nell'output diadb devices
.
Esegui test pre-invio di TF in base alle modifiche locali
Se vuoi eseguirlo in modo simile all'invio 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.