2010-05-07 49 views
5

我有一个扩展android.os.CountDownTimer的自定义计时器。我在测试自定义Timer的测试项目(标准Android/Eclipse项目配置)中进行了测试。当我运行这个测试时,我得到:Eclipse + Android + JUnit测试参考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)

你明白了。我能不能在junit测试中运行引用android代码的代码?

回答

0

你不能这么做,因为无法使用JUnit测试Android资源而无需进一步的指示。你必须首先测试你的项目。这个教程和下面的介绍了此过程非常好:

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

这里是另一个测试项目的解释代码snipplet: http://marakana.com/tutorials/android/junit-test-example.html

在这里你可以找到关于堆栈溢出的答案: https://stackoverflow.com/questions/522312/best-practices-for-unit-testing-android-apps

+0

他没有休息一个资源,实际上使用他的原始问题措辞的android测试仪器。 因此,我问他如何初始化自定义类,因为这将是追踪错误的起点 – 2010-05-22 12:19:39