如何运行android sdk sample中的单元测试
来源:互联网 发布:数组删除指定位置元素 编辑:程序博客网 时间:2024/06/02 21:44
Android 1.5_r1的release notes中专门提到了ADT0.9对于JUnit支持的改进,对于崇尚TDD(测试驱动开发)的人来说这无疑是一个好消息,今天就抽点时间说说Android 1.5中JUnit集成相关的要点吧。
配置完1.5的SDKADT0.9,运行第一个1.5的sample的时候我就看到Run as中多出了一个“Android JUnit Test”的选项(以前是在Debug中)。
可是文档里并没有提到如何在Android project中集成JUnit测试,好在我从Android Developers讨论组里找到了TDD with Android 1.5这么一个帖子。
就先来看一看如何把Sample中的test case跑起来吧。
(多谢Zhao的blog上关于在Android 1.5 pre中运行APIDemo测试的总结)
第1步,新建一个Android项目,选择“create project from existing source”,并把路径指向android-sdk-1.5/platforms/android-1.5/samples/ApiDemos
第2步,再新建一个Android项目,依然通过“create project from existing source”的方式,这次把路径指向android-sdk-1.5/platforms/android-1.5/samples/ApiDemos/tests
这时候ADT会报错,因为它无法找到APIDemo项目。右键,选择Properties,在Java Build Path –> Projects中添加APIDemo项目即可。
第3步,以“Android Application”方式运行第一个项目(注意正确设置AVD,第一次运行程序时,选中项目单击右键àRun AsàOpen Run DialogàTarget,选中所用的AVD),APIDemo将被安装到模拟器。
第4步,以“Android Application”方式运行第二个项目(注意正确设置AVD,第一次运行程序时,选中项目单击右键àRun AsàOpen Run DialogàTarget,选中所用的AVD),APIDemo Test将被安装到模拟器。
第5步,现在,我们可以通过Dev Tools中的Instrumentation来执行APIDemo Test了。找到“Dev tools”à“Instrumentation”中的”Tests for API Demos.”,点击即可开始测试。
这时,通过LogCat即可看到测试结果。
I/instrumentation( 773): INSTRUMENTATION_STATUS_CODE: 1
I/TestRunner( 780): finished: testAndroidTestCaseSetupProperly(com.example.andr
oid.apis.view.Focus2AndroidTest)
I/TestRunner( 780): passed: testAndroidTestCaseSetupProperly(com.example.androi
d.apis.view.Focus2AndroidTest)
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: stream=.
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: test=testAndroidTestCas
eSetupProperly
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: class=com.example.andro
id.apis.view.Focus2AndroidTest
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: current=22
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: numtests=22
I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: id=InstrumentationTestR
unner
I/instrumentation( 773): INSTRUMENTATION_STATUS_CODE: 0
I/instrumentation( 773): INSTRUMENTATION_RESULT: stream=
I/instrumentation( 773): Test results for InstrumentationTestRunner=...........
...........
I/instrumentation( 773): Time: 12.212
I/instrumentation( 773):
I/instrumentation( 773): OK (22 tests)
除了通过Dev Tools来执行单元测试,我们还有另外两种方法:
1、通过ADT,在eclipse中执行测试
在eclipse中选中test项目,直接Run As “Android JUnit Test”既可以,测试结果会以图形化的方式返回。
2、通过sdb shell命令执行测试
在命令行中执行adb shell am instrument -w com.example.android.apis.tests/android.test.InstrumentationTestRunner命令
其中,com.example.android.apis.tests是APIDemo Test所在的package。
那么,我们如何创建自己的test项目呢?
大致的步骤如下:
1、新建一个普通的Android项目,比如项目名为Foo,Package为com.foo.bar
2、新建一个Test项目,注意把Package填成com.foo.bar.tests,项目名任意,比如FooTest,Application name任意
3、在FooTest项目的Build Path中添加Foo项目
4、参照APIDemo Test项目的manifext.xml来修改FooTest项目的manifest.xml
5、编写TestCase(至于测试代码的编写,还在学习中)
以前还有一个早期的介绍该操作的文档,现在可以不用这么麻烦了。 :)
(http://groups.google.com/group/android-beginners/browse_thread/thread/92cae3fad38643a4)
I will tell you more simple way. To execute the test cases of sample application provided by google please follow the following steps.
1. Open Eclipse and move to your desired workspace.
2. Create new Android Project and select Create Project from existing source.
3. Browse to any sample project for example Snake
4. Build and execute the application to check whether it is properly
installed.
5. In Project Explorer Drag the file SnakeTest.java to source folder.
6. Open AndroidManifest.xml which resides inside the folder test.
7. Copy following lines
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.android.snake"
android:label="Snake sample tests">
</instrumentation>
8. Paste these lines to the file AndroidManifest.xml which resides in the application.
9. Add following line in the AndroidManifest
<uses-library android:name="android.test.runner" />
10. Now save and Run the configuration.
11. Now close the application on emulator.
12. Open Dev Tools
13. Go to Instrumentation
14. Select Snake Sample Tests.
15. The test cases will execute. Check the Logs for the result.
16. You can also execute the following commands in the command prompt
adb shell am instrument –w com.example.android.snake/android.test.InstrumentationTestRunner
- 如何运行android sdk sample中的单元测试
- 如何运行android sdk sample中的单元测试
- 如何导入android sdk 的 sample中的源码
- 如何将android SDK sample中的例子用eclipse打开
- 如何导入android sdk 的 sample中的源码
- 导入android sdk sample中的工程
- android SDK sample说明
- Android SDK Sample
- 如何导入android中的sample例子
- Eclipse开发环境导入android sdk的sample中的源码
- Eclipse开发环境导入android sdk的sample中的源码
- 导入SDK sample中的范例
- Android SDK和Sample兼容4.0运行环境,及文档新增Target SDK的设置要求
- Android SDK Sample(一) CardReader
- 如何导入android中的sample实例的方法
- 如何导入android中的sample例子到eclipse中
- 如何导入android中的sample例子到eclipse中
- Android开发第一步,运行sample
- MFC -- CStdioFile类
- emoji表情拾取器
- 初次接触nginx服务器
- Delphi (c++builder) 调用C#编写的WebService 参数为Null解决方法
- 收藏个博客 爪哇米工作室陈跃峰的移动开发博客
- 如何运行android sdk sample中的单元测试
- CruiseControl.NET : Email Publisher cc.net mail 配置(建议初学者必看)
- SHELL脚本,学习笔记
- CParentDialog派生CChildDialog
- Android开发中 ListView 不能不说的几个属性
- eclipse设置svn提交时过滤不需要的系统类文件
- sql server 2005 windows身份登陆 错误:18456
- Ajax 页面缓存原理
- Resetting Form Field Values in an ASP.NET WebForm