上海总部 | 南京分部
技术文章 Technology Categories
WEB测试
单元测试
功能测试类
性能测试
咨询服务 Services Advisory
注册香港公司 咨询热线:
400-920-8213
租车 上海专线:
86-021-51556355
咨询邮箱:
  jiyl@withubtraining.org
现在位置:首页 >>> 技术文章 >>> 单元测试 >>>查看文章
运行Android sdk sample中的单元测试
作者:admin   来源:本站    浏览:2821
    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中)。
  就先来看一看如何把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.android.apis.view.Focus2AndroidTest)
  I/TestRunner( 780): passed: testAndroidTestCaseSetupProperly(com.example.android.apis.view.Focus2AndroidTest)
  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: stream=.
  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: test=testAndroidTestCaseSetupProperly
  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: class=com.example.android.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=InstrumentationTestRunner
  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(至于测试代码的编写,还在学习中)
培训中心简介 | 师资力量 | 教学环境 | 隐私条款 | 技术支持中心 | 合作伙伴 | 权威认证 | 交通路线 | 联系我们 | 在线留言
报名地址:上海市徐汇区乐山路33号2号楼4楼 邮政编码:200030
Copyright© 2000—2009 上海慧谷职业技能培训中心 All Right Reserved
Number of visitors:447732     沪ICP备10020950号