Android开发2——创建测试项目
一、创建普通Android项目
二、在AndroidManifest.xml添加两个配置
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.xy.app" android:versionCode="1" android:versionName="1.0">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <!-- 引入单元测试依赖库 -->
- <uses-library android:name="android.test.runner" />
- <activity android:name=".MainActivity" android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- <uses-sdk android:minSdkVersion="8" />
- <!-- 配置单元测试框架启动装置 -->
- <!-- android:targetPackage理解为测试项目部署在哪个Activity,而不是测试类所在包 -->
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="cn.xy.app" android:label="xy_test" />
- </manifest>
<uses-library android:name="android.test.runner" />
引入测试相关类库
<instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="cn.xy.app" android:label="xy_test" />
配置单元测试框架启动装置
三、编写测试代码
- package cn.xy.test;
- import junit.framework.Assert;
- import android.test.AndroidTestCase;
- import cn.xy.service.PersonService;
- public class TestClass extends AndroidTestCase
- {
- public void testSave() throws Exception
- {
- PersonService ps = new PersonService();
- ps.save();
- }
- public void testGetPerson() throws Exception
- {
- PersonService ps = new PersonService();
- String name = ps.getPersonName();
- Assert.assertEquals("xy", name);
- }
- }
测试类要继承AndroidTestCase类,测试方法要以test开头。
注意到该测试类放在cn.xy.test包下,而不是cn.xy.app下,并不影响,印证了android:targetPackage理解为测试项目部署在哪个Activity,而不是测试类所在包。
四、运行
直接将鼠标放在方法上邮寄Run AS——>Android Junit Test,会被部署到手机上作为一个Activity运行,方法运行的结果仍然以红条或者绿条显示,很以前纯Junit一样。
五、总结
这是一种方式,还可以直接建立Android Test Project。
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1075462如需转载请自行联系原作者
woshixuye111

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Swift实现OC中的单例模式
一、MySingle类 import Foundation class MySingle{ //定义单例的属性 var name:String? var age:Int? var height:Double? //定义类方法 class func shareInstance()->MySingle{ struct qzSingle{ static var predicate:dispatch_once_t = 0 static var instance:MySingle? = nil } dispatch_once(&qzSingle.predicate,{ qzSingle.instance = MySingle() }) return qzSingle.instance! } } 二、AppDelegate中调用 //单例的使用 var single = MySingle.shareInstance() single.name = "秦志伟" single.age = 24 single.height = 176.00 println(single) 执行结果:has...
- 下一篇
翻译:Adobe AIR 2.6的新特性
本文由RIAMeeting翻译,您可以自由转载,但请注明原文和译文地址,谢谢 原文地址: http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html Adobe AIR 2.6 现在已经上线了 (运行时 和 SDK). 当前2.6的工作重点是均衡Android和iOS的功能实现(译者注:之前由于某些原因,AIR2.5的功能特性主要是针对Android平台开发的), 当然我们也悄悄的针对SDK,Android,桌面性能等方面提供了一些好的特性。 下面是AIR 2.6所提供的新特性的列表. 异步位图解码. 这个特性将允许我们在主线程之外,另起一个线程完成对位图的解码。设置 LoaderContext的imageDecodingPolicy 属性的值为ImageDecodingPolicy.ON_LOAD,来启用异步位图解码,这样可以让您的应用更加灵活,动画更流畅。专属窗口(Owned Windows). 专属窗口适用于像调色板工具这样的情况。专属窗口特性允许您关联一个窗口和其它窗...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,CentOS7官方镜像安装Oracle11G