按照Diego Torres博客上的一些说明进行操作后,我可以使用常规的Eclipse JUnit测试运行器测试我的类,但是我也希望能够在模拟的android环境中运行我的单元测试。
现在,这应该没有什么实质性的区别,因为我正在处理的类执行非常基本的数字或网络任务,但是显然任何涉及UI或Android API特定功能的内容都只能在模拟器上进行测试。
我使用android.test.InstrumentationTestRunner设置了类型为AndroidJUnitTest的新运行配置,但是每当启动测试时,控制台中都会出现以下错误:
[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级别。 实际上,没有使用的设备在运行Android 1.1。您可以安全地切换到API级别3(Android 1.5),这是对以前版本的重大改进。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。