对应用进行单元测试:

使用Junit测试框架,是正规Android开发的必用技术。在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性。

1.配置指令集和函数库:

(1)配置指令集,指定要测试的应用程序

需要在AndroidManifest.xml的instrumentation中增加InstrumentationTestRunner,并指定要测试的包名。

AndroidManifest.xml中会添加代码:

<instrumentation android:targetPackage="com.example.firstdemo" android:name="android.test.InstrumentationTestRunner"></instrumentation>

(2)配置函数库

在Application中加<uses-library android:name="android.test.runner"/>

(3)加入Junit的jar包

项目右击-->Build Path-->Add Library-->JUnit-->JUnit4-->确定

2.编写单元测试代码(选择要测试的方法名,右击"Run As"....."Android Junit Test")

示例代码:

public class TestPersonDB extends AndroidTestCase{
public void testCreateDB(){
PersonSQLiteOpenHelper helper=new PersonSQLiteOpenHelper(getContext());
SQLiteDatabase db=helper.getWritableDatabase(); } public void testAdd(){
PersonDao2 dao=new PersonDao2(getContext());
// dao.add("wangwu", "123",5000);
// dao.add("zhangsan", "321",2000); long num=8900000000000l;
Random random=new Random();
for (int i = 0; i < 50; i++) {
dao.add("wangwu"+i, num+i+"", random.nextInt(5000));
}
} public void testFind(){
PersonDao2 dao=new PersonDao2(getContext());
boolean result=dao.find("wangwu");
assertEquals(true, result); //断言:期待的值是true,真实的值是result
} public void update(){
PersonDao2 dao=new PersonDao2(getContext());
dao.update("wangwu", "321");
} public void delete(){
PersonDao2 dao=new PersonDao2(getContext());
dao.delete("wangwu");
} public void findAll(){
PersonDao2 dao=new PersonDao2(getContext());
List<Person> persons=dao.findAll();
for (Person person : persons) {
System.out.println(person.toString());
} } //用事务的方式实现银行转账
public void testTransaction(){
PersonSQLiteOpenHelper helper=new PersonSQLiteOpenHelper(getContext());
SQLiteDatabase db=helper.getWritableDatabase();
db.beginTransaction();
try {
//这两句执行代码要么都执行成功,要么都不成功
db.execSQL("update person set account=account-1000 where name=?",new Object[]{"zhangsan"});
db.execSQL("update person set account=account+1000 where name=?",new Object[]{"wangwu"});
//标记数据库事务执行成功,默认执行是失败的,数据不会commit,会回滚
db.setTransactionSuccessful();
} finally {
db.endTransaction();
db.close();
} }
}

Android Junit测试框架的更多相关文章

  1. Android -- junit测试框架,logcat获取log信息

    1. 相关概念 白盒测试: 知道程序源代码. 根据测试的粒度分为不同的类型   方法测试 function test         单元测试 unit test                 集成 ...

  2. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  3. Android开源测试框架学习

    近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...

  4. [转]Android开源测试框架学习

    近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java ...

  5. Junit测试框架 Tips

    关于Junit测试框架使用的几点总结: 1.Junit中的测试注解: @Test →每个测试方法前都需要添加该注解,这样才能使你的测试方法交给Junit去执行. @Before →在每个测试方法执行前 ...

  6. Java高级特性 第10节 IDEA和Eclipse整合JUnit测试框架

    一.IDEA整合Junit测试框架 1.安装插件 打开File菜单的下拉菜单settings[设置] : 点击左侧Plugins[插件]菜单 在输入框中输入JUnitGenerator 2.0,点击I ...

  7. JUnit - 测试框架

    什么是 Junit 测试框架? JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量.JUnit 测试框架能够轻松完成以下任意两种结合: Ecli ...

  8. Java Junit测试框架

    Java    Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...

  9. 使用Junit测试框架学习Java

    前言 在日常的开发中,离不开单元测试,而且在学习Java时,特别是在测试不同API使用时要不停的写main方法,显得很繁琐,所以这里介绍使用Junit学习Java的方法.此外,我使用log4j将结果输 ...

随机推荐

  1. Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds问题

    错误:Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server requi ...

  2. DateTime与DateTime?赋值问题以及null类型的如何赋值问题

    解决方案: //主要用到向下兼容原理,DateTime?继承于DateTime: string req = "为字符串的参数"; DateTime? dt = null; Date ...

  3. Linux环境下Oracle数据库启动停止命令

    切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [orac ...

  4. 一名小小的SQL Server DBA想谈一下SQL Server的能力

    一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:<比 ...

  5. gulp插件(gulp-jmbuild),用于WEB前端构建

    源码地址:https://github.com/jiamao/gulp-jmbuild https://github.com/jiamao/gulp-jmbuild gulp-jmbuild gulp ...

  6. 高效简易开发基于websocket 的通讯应用

    websocket的主要是为了解决在web上应用长连接进行灵活的通讯应用而产生,但websocket本身只是一个基础协议,对于消息上还不算灵活,毕竟websocket只提供文本和二进制流这种基础数据格 ...

  7. 网易云信,发送验证码短信C#版代码

    网易云信发送短信代码(C# 版)....需要注意SHA1 String有转换小写!!!! using System; using System.Collections.Generic; using S ...

  8. ASP.NET MVC 学习笔记(一)

    很久很久没有在博客园写过东西了,很多大虾也说过展示自己最好的地方就是有一个博客作为笔记,展示一下自己的学习和研究成果. 最近决心将公司的一款产品改用MVC的方式实现,于是乎就开始在园子里面疯狂的寻找各 ...

  9. [后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页

    一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端.在做的过程中,遇到一个问题——如何使用KnockoutJs来完成分页的功能.在前一篇文章中并没有介绍使 ...

  10. [.NET领域驱动设计实战系列]专题十:DDD扩展内容:全面剖析CQRS模式实现

    一.引言 前面介绍的所有专题都是基于经典的领域驱动实现的,然而,领域驱动除了经典的实现外,还可以基于CQRS模式来进行实现.本专题将全面剖析如何基于CQRS模式(Command Query Respo ...