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(至于测试代码的编写,还在学习中)
分享到:
相关推荐
compile 'io.card:android-sdk:5.5.1' You can receive updates about new versions via a few different channels: Follow @cardio (also great to send us feedback) Subscribe to our card-io-sdk-
android sdk sources sample目录,解压至sdk目录即可
第二步:运行SDK Manager.exe 会生成temp的文件夹,(有同学找不到SDK Manager.exe,或找到了运行不了,解决:把SDK Manager.exe从\tools\lib目录下复制到SDK的根目录双击打开就OK了) 第三步:把SDK Manager.exe关...
android sdk sources sample 目录,解压至sdk即可
11:43 Emulator: [5984]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at D:\AndroidSDK\emulator\lib64\qt\lib 11:43 Emulator: Could not launch 'D:\AndroidSDK\emulator/qemu/...
其次,在Android 6.0以后引入了运行时权限,因此有些权限需要在代码中进行判断和申请。 4.2、添加AK信息 在应用的AndroidManifest.xml中,需要添加之前申请过的AK信息,否则访问服务器时,会返回错误信息。 添加...
使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip
RTSP ,RTMP开发,摄像头...1: 海康威视Android SDK: 海康威视最新Android sdk 20160912 萤石的: 0: 官方网站:https://open.ys7.com/sdk.html 1: Android SDK下载:https://open.ys7.com/view/sdk/sdk.html
android sdk9 sample,这是从android sdk 包中提取出来的sdk9.0版本的sample代码,值得在android 学习中参考
compile ' com.infstory:wechat-android-sdk:1.0.0 ' } 或者,通过jitpack: repositories { maven { url " https://jitpack.io " } } dependencies { compile ' ...
Airwallex的Android SDK可用于大于等于19的Android SDK。安装将依赖项添加到build.gradle 。 dependencies { implementation ' com.airwallex:airwallex-core:2.0.3 '}入门指南在您的Android应用中集成Airwallex ...
android sdk2.3是一款专为安卓开发者打造的sdk开发软件,该版本在上版本的基础上加入了陀螺仪、加速器、指南针等等功能,需要的朋友赶紧来绿色资源网下载吧 android sdk2.3说明 如果在你的C:\android-sdk-windows\...
Android SDK (SDK Platforms)-android-31.zip
BaiduMap_AndroidSDK_v2.1.2_Sample
2.SDK 已经上传 Jcenter,Android Studio 的用户可以直接在 gradle 中添加一条 dependencies:implementation 'com.upyun:upyun-android-sdk:2.1.4'3.DEMO 示例在 app module 下的 。参数设置在 中可以对 SDK 的一些...
touch image view with pinch support
Android 使用微信登录、分享功能 具体的文档详情微信官网上介绍(微信官网文档),本人直接按照项目部署步骤进行讲解: 第一步:申请你的AppID; 第二步:依赖 dependencies { compile '...
第二讲:Android SDK及环境配置
Android SDK (SDK Platforms)-android-30.zip
App都会集成第三方的支付SDK,微信开放平台WeChatSDK_sample_Android