今天跟着视频学习了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了