gpt4 book ai didi

java - 为什么我尝试在 Android 模拟器上运行 Junit 测试用例时会出现此错误?

转载 作者:太空狗 更新时间:2023-10-29 16:25:27 25 4
gpt4 key购买 nike

按照 Diego Torres blog 上的一些说明进行操作后我可以使用常规的 Eclipse JUnit 测试运行器来测试我的类,但是我也希望能够在模拟的 android 环境中运行我的单元测试。

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

我设置了一个 AndroidJUnitTest 类型的新运行配置,它使用 android.test.InstrumentationTestRunner,但是每当我启动测试时,我都会在控制台中收到以下错误:

[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

如您所料,测试结束(在最终的“无法实例化检测 ComponentInfo”消息之后实际上没有运行任何测试。

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

注意事项: - 在 Ubuntu 64 位上运行 Eclipse 3.5 - 模拟器设置为 API 级别 2 - 我是 Android 和 Java 的新手,所以请原谅我的基本问题

最佳答案

我会忽略那个博客说的;它似乎已经过时了。

您不需要导入 JUnit 库或类似的东西;适当的类、TestCase 等都集成到 Android SDK 中。

只需在您的项目中创建一个新类并扩展AndroidTestCase。然后您可以右键单击要运行的测试用例(或测试用例包)并选择运行方式 → Android JUnit 测试。

此外,我会使用高于 2 的 API 级别。Virtually no devices in use正在运行 Android 1.1;您可以安全地切换到 API 级别 3,即 Android 1.5,与以前的版本相比有很大改进。

关于java - 为什么我尝试在 Android 模拟器上运行 Junit 测试用例时会出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com