2012-06-08 13 views
10

Normalmente ejecuto una prueba junit usando adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner. Y realmente funciona, ejecutará todas mis pruebas.¿Es posible ingresar al modo de depuración para Android al ejecutar la prueba junit?

Pero cuando hago un punto de interrupción y deseo ingresar al modo de depuración cuando ejecuto junit, falla. La forma en que hago los puntos de interrupción funciona cuando depuro la aplicación de Android normal.

Así que busqué en la web, y trato de algo como adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner, pero todavía sin suerte. ¿Cómo resuelve el tuyo este problema? No solo quiero depurar la clase junit, sino también el código en el proyecto normal.

Respuesta

2

Encontré la respuesta justo ahora. Se bloqueará cuando arranque el instrumento, ya que está esperando que establezca un punto de interrupción. Entonces, después de hacer un punto de interrupción, el junit comienza a ejecutarse. Por lo tanto, la secuencia de depurar un proyecto junit android es:

  1. start instrument with debug set true.
  2. hacer un punto de quiebre mediante línea de comando o eclipse.
  3. el instrumento comenzará a funcionar automáticamente.
+0

En caso de Idea JetBrains: 1. Inicie el instrumento con el conjunto de depuración verdadero. 2. Adjunte el depurador al proceso de su aplicación 3. La prueba comenzará – molokoka

+3

¿Qué quiere decir "depuración establecida como verdadera"? ¿Dónde está este ajuste? –

7

Supongo que está intentando depurar sus pruebas con Eclipse. Si este es el caso, puede seleccionar su proyecto de prueba, haga clic con el botón derecho, Depurar como ... -> Android JUNit test y la ejecución se detendrá en los puntos de interrupción que establezca en las pruebas o en el código.

+0

En realidad, hago todo este trabajo en la línea de comando. Quizás en eclipse, tu método funcionará. –

0

Para depurar Android JUnit test no olvide poner debuggable=true en el proyecto comprobable.

+0

En realidad, no hagas eso. Las herramientas de compilación lo harán por ti. – Christine

Cuestiones relacionadas