Android之Junit测试类
今天跟着视频学习了Junit测试类,趁热打铁、顺便把学的东西整理下来,再就是为了以后好回顾
1、Junit单元测试介绍:
在实际开发中,经常要对已经实现的功能进行单元测试,以保证当前单元没问题,尽可能的减少已有功能的bug
和Java中的开发一样,Android中对单元测试也可以采用Junit,在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确与否
2、Android中Junit单元测试的使用步骤:
①.清单文件AndroidManifest.xml中添加instrumentation工具类和uses-library
②.写一个测试类,继承自AndroidTestCase类
这次主要是拿某一activity中的某个方法进行junit测试
3、具体使用:
一如既往先看效果:
ok,接下来跟着我的节奏走吧:
步骤一:在Android的测试项目中的清单文件AndroidManifest.xml中添加instrumentation工具类和uses-library
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.mobilesafe"android:versionCode="1"android:versionName="1.0" ><uses-sdk
android:minSdkVersion="14"android:targetSdkVersion="17" /><!-- 1.配置Junit单元测试工具instrumentation--> <!--重点地方!--> <!-- 测试工具类 android:name:android.test.InstrumentationTestRunner,--> <!-- 要测试哪个包里面的应用 com.example.mobilesafe--> <instrumentation
android:name="android.test.InstrumentationTestRunner"android:targetPackage="com.example.mobilesafe" /><application
android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><!-- 2.为Junit单元测试导入Library --> <!--重点地方!--> <uses-library android:name="android.test.runner" /><activity
android:name="com.example.mobilesafe.activity.SplashActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
步骤二:单元测试用例代码:
public class Text extends AndroidTestCase {//其中blacknumberdao 这个类其实就是一个用于操作数据库的方法类//在此主要是测试该操作类的数据库插入方法,首先是实例化该方法(单例模式)public void insert(){BlackNumberDao dao=BlackNumberDao.getInstance(getContext());dao.insert("100860000", "1");}
}
public class BlackNumberDao {private Context context;BlackNumberOpenHelp myBlackNumberOpenHelp = null;public BlackNumberDao(Context context) {this.context = context;myBlackNumberOpenHelp = new BlackNumberOpenHelp(context);}private static BlackNumberDao blackNumberDao = null; /*** 单例模式* @param context* @return*/public static BlackNumberDao getInstance(Context context){if(blackNumberDao==null){blackNumberDao = new BlackNumberDao(context);}return blackNumberDao;}/*** 插入到数据库* @param phone* @param mode*/public void insert(String phone,String mode){SQLiteDatabase db = myBlackNumberOpenHelp.getWritableDatabase();ContentValues contentValues = new ContentValues();contentValues.put("phone", phone);contentValues.put("mode", mode);db.insert("blacknumber", null, contentValues);db.close();}
}
完成,是不是觉得很easy,就这简单几步,不过值得一提的是在配置Junit单元测试工具instrumentation以及为Junit单元测试导入Library时因为没有代码提示,所以不推荐手敲,除非你能记得很流畅,所以,怎么拿到呢?
那么…
File>>new>>Project…>>Android>>Android Test Project>>起项目名字>>选择要测试的项目名称
这样你就创建了一个Android Test Project项目,直接在清单文件进行拷贝就ok了
Android之Junit测试类相关推荐
- JUnit测试类完成后事务是默认 回滚的。只能查询数据,不能增删改。
JUnit测试类完成后事务是默认 回滚的.只能查询数据,不能增删改. 在测试类或者测试方法上面加上注解 @Rollback(false) 表示事物不回滚,这样数据就可以提交到数据库中了. 转载于:h ...
- 创建JUNIT测试类
建立JUNIT测试类步骤: 1 建立正常的JAVA工程 2 在JAVA工程的build path 的LIB中导入JUNIT4 3 工程中新建一个普通TEST.JAVA,在该类中在随便的一个方法上,反 ...
- junit测试类叫什么名字_使用Junit测试名称
junit测试类叫什么名字 命名测试 当我们创建Junit测试时,通常没有方法名称的实际使用. Junit运行器使用反射来发现测试方法,并且从版本4开始,您不再被限制以test开始方法的名称. 测试方 ...
- maven编译的时候排除junit测试类
maven编译的时候排除junit测试类 maven项目中使用junit进行单元测试,在进行编译的时候,可以通过2种方式排除test测试类的编译. 有2种方式 : 使用命令的时候带上参数 mvn in ...
- JUnit测试类使用
JUnit4测试使用教程 I 简介 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成 ...
- android用什么测试类,android – 使用firebase对类进行JUnit测试
我正在尝试JUnit测试这个类: public class WeekListActivity extends AppCompatActivity implements AdapterView.OnIt ...
- Android 中 JUnit 测试的配置
第一步:首先在AndroidManifest.xml中加入下面代码: [html] view plaincopy <?xml version="1.0" encoding=& ...
- 计算机junit测试类,复利计算器4.0之再遇JUnit
复利计算器4.0之再遇JUnit 前言 虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测试所需 ...
- JUnit测试类报错:java.lang.IllegalStateException: Failed to load ApplicationContext
问题描述 运行JUnit测试类时,报以下错误信息: java.lang.IllegalStateException: Failed to load ApplicationContextat org.s ...
最新文章
- Android中文API (109) —— SimpleCursorTreeAdapter
- Android真机运行错误INSTALL_FAILED_MEDIA_UNAVAILABLE
- CPA、CPS、CPM、CPT、CPC 是什么
- 怎样解决IPv4网络和IPv6网络的共存互通?
- Oracle数据库比较日期时间的大小
- php视频直播技术,PHP写在线视频直播技术详解
- word图片另存为变黑色_Word的图片另存为图片格式的方法
- u盘数据恢复的原理_U盘数据恢复其实很简单
- javascript学习-SVG
- 人工智能会影响哪些行业?
- 【组织架构】中国铁路武汉局集团有限公司
- 最新信用卡养卡技巧,大神分享
- python 运行 daemon 程序
- 计算机网络第七版(谢希仁) 第一章 概述 1-10,1-17作业答案
- firefox移动版实现自由安装插件的方法,tampermonkey统统都能安装。
- Android 判断app是否在前台还是在后台运行
- 软考高项:信息系统项目管理师试题(2022年11月)
- iOS 抖音插件 抖音直播红包插件 抖音直播红包采集 抖音直播红包自动领取 抖音hook Tweak 源码
- 利用python将多张图片合成视频
- leetcode No374 猜数字大小 java
热门文章
- [js] 说说你对JSBridge的理解
- 工作34:第三方登录
- remote: Incorrect username or password ( access token ) fatal: Authentication failed for gitee
- 前端学习(1940)vue之电商管理系统电商系统之代码提交
- 前端学习(237):IE条件注释法
- 前端学习(11):标题和段落
- 数据结构:(6)其他情况的算法分析
- 大型动态应用系统平台系统架构?这些大家并不陌生
- 关于python变量的描述_Python变量命名的详细介绍
- 2019 CCPC-Wannafly Winter Camp Div2 Day1