2012-06-08 11 views
10

Di solito eseguo un test junit utilizzando adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner. E funziona davvero, eseguirà tutti i miei test.È possibile accedere alla modalità di debug per Android quando si esegue il test di junit?

Ma quando eseguo i breakpoint e desidero entrare in modalità di debug durante l'esecuzione di junit, non è riuscito. Il modo in cui creo i breakpoint funziona quando eseguo il debug della normale app per Android.

Così ho cercato sul web, e provare qualcosa come adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner, ma ancora senza fortuna. In che modo il tuo risolve questo problema? Non voglio solo eseguire il debug della classe junit, ma anche il codice nel normale progetto.

risposta

2

Ho trovato la risposta proprio ora. Bloccherà quando avvierò lo strumento poiché è in attesa che io imposti un breakpoint. Quindi, dopo aver creato un punto di interruzione, la junit inizierà a funzionare. Quindi la sequenza di debug di un progetto di junit android è:

  1. strumento di avvio con debug impostato vero.
  2. crea un punto di interruzione tramite riga di comando o eclissi.
  3. lo strumento inizierà a funzionare automaticamente.
+0

In caso di idea JetBrains: 1. avviare lo strumento con il set di debug impostato su true. 2. Collega il debugger al processo dell'applicazione 3. I test inizieranno – molokoka

+3

Cosa intendi con "debug set true"? Dov'è questa impostazione? –

7

Immagino che stiate cercando di eseguire il debug dei test utilizzando Eclipse. In questo caso, è sufficiente selezionare il progetto di prova, fare clic con il pulsante destro del mouse, Debug come ... -> Test JUNit Android e l'esecuzione si interromperà nei punti di interruzione impostati nei test o nel codice.

+0

In realtà, faccio tutto questo lavoro in linea di comando. Forse in eclissi, il tuo metodo funzionerà. –

0

Per eseguire il debug del test di Android JUnit non dimenticare di inserire debuggable=true nel progetto testabile.

+0

In realtà, non farlo. Gli strumenti di costruzione lo faranno per te. – Christine