代码之家  ›  专栏  ›  技术社区  ›  Salim Fadhley

为什么在我尝试在Android emulator上运行Junit测试用例时会发生此错误?

  •  2
  • Salim Fadhley  · 技术社区  · 16 年前

    在遵循关于 Diego Torres blog

    现在,这应该没有什么真正的区别,因为我正在处理的类执行非常基本的数字或网络任务,但显然,任何涉及UI或Android API特定函数的东西都只能在模拟器上进行测试。

    [2010-01-09 00:45:23 - Pal1]Uploading Pal1.apk onto device 'emulator-5556'
    [2010-01-09 00:45:23 - Pal1]Installing Pal1.apk...
    [2010-01-09 00:45:25 - Pal1]Success!
    [2010-01-09 00:45:25 - Pal1]Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5556
    [2010-01-09 00:45:27 - Pal1]Test run failed: Unable to instantiate instrumentation ComponentInfo{org.stodge.traderpal/android.test.InstrumentationTestRunner}: java.lang.ClassNotFoundException: android.test.InstrumentationTestRunner in loader dalvik.system.PathClassLoader@43598c28
    

    正如您可能期望的那样,测试结束(在最后的“无法实例化instrumentation ComponentInfo”消息之后没有实际运行任何测试)。

    目前,我的测试用例只包含Junit3和Junit4锅炉板代码。测试的实现只包括fail()调用。在这个阶段,我需要做的就是证明我可以在这两种环境中执行基本的单元测试,这样我就可以开始测试驱动的开发了。

    笔记: -在64位Ubuntu上运行Eclipse 3.5 -我对Android和Java都是新手,所以请原谅我的基本问题

    1 回复  |  直到 16 年前
        1
  •  6
  •   Christopher Orr    16 年前

    我会忽略博客上的内容;它似乎已经过时了。

    TestCase 等等都集成到了Android SDK中。

    只需在项目中创建一个新类并扩展 AndroidTestCase

    此外,我将使用高于2的API级别。 Virtually no devices in use 正在运行安卓1.1;您可以安全地切换到API级别3,即Android 1.5,这是对以前版本的一大改进。