2010-05-07 8 views
5

Tengo un temporizador personalizado que amplía android.os.CountDownTimer. Tengo una prueba en el proyecto de prueba (configuración estándar del proyecto Android/Eclipse) que prueba el temporizador personalizado. Cuando ejecuto esta prueba, obtengo:Eclipse + Android + JUnit prueba referencias android.os class = NoClassDefFoundError

java.lang.NoClassDefFoundError: android/os/CountDownTimer
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:698)

Ya entendió la idea. ¿No puedo ejecutar código que haga referencia al código de código de Android en la prueba junit?

Respuesta

0

No se puede hacer eso porque no es posible probar los recursos de Android con JUnit sin más instrucciones. Tienes que instrumentar tu proyecto primero. Este tutoriales y a continuación se describe este procedimiento muy bien:

http://mylifewithandroid.blogspot.com/2008/11/controlling-instrumentation.html
http://mylifewithandroid.blogspot.com/2008/11/junit-in-android.html

Aquí es un snipplet código se explica de otro proyecto de prueba: http://marakana.com/tutorials/android/junit-test-example.html

y aquí se puede encontrar la respuesta en el desbordamiento de pila : https://stackoverflow.com/questions/522312/best-practices-for-unit-testing-android-apps

+0

él no está descansando un recurso y está de hecho usando la instrumentación de prueba android según su redacción original de la pregunta. . Por lo tanto, me preguntaba cómo inicializó la clase personalizada, ya que ese sería el punto de partida para rastrear los errores –