android - Eclipse + Android + JUnit 测试引用android.os class = NoClassDefFoundError

标签 android eclipse junit

我有一个扩展 android.os.CountDownTimer 的自定义计时器。我在测试自定义计时器的测试项目(标准 Android/Eclipse 项目配置)中进行了测试。当我运行这个测试时,我得到:

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

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

最佳答案

您不能这样做,因为在没有进一步说明的情况下无法使用 JUnit 测试 Android 的资源。您必须首先检测您的项目。本教程和以下教程很好地描述了此过程:

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

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

您可以在 Stack Overflow 上找到答案: https://stackoverflow.com/questions/522312/best-practices-for-unit-testing-android-apps

关于android - Eclipse + Android + JUnit 测试引用android.os class = NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791650/

相关文章:

android - 有没有办法增加 Google Console API 项目创建限制?

android - 为 Android SDK 组织代码文件/XML 文件

android - Android Studio 中缺少设备文件资源管理器

java - 尝试从 Android 中的图库或相机获取图像

java - 未找到测试运行程序 'JUnit 4' 的测试

java - google街景api现在使用的是订阅方式吗?

java - 在android中生成0到3之间的随机数并添加到数组列表中

java - 在 Eclipse 中使用 ControlP5 进行处理会导致按键时出现 IllegalArgumentException

java - Maven surefire - 在测试之间建立依赖关系

java - 如何使用 JMockit 或其他机制检查方法中局部变量的值