android测试类
2016-07-25 01:12
519 查看
一共需要做3件事情:
1.需要在manifest节点文件添加:
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.tu.xmltest"></instrumentation >
其中android:targetPackage指的是要测试哪个包(即要测试哪个程序,因为可以新建一个测试工程专门测试自己写的其他应用)
2.在application节点添加:
<uses-library android:name="android.test.runner"/>
这个是给本测试添加需要的类库
最后添加完成后是这个样子的Mainifest文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tu.xmltest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.tu.xmltest"></instrumentation> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <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> </manifest>
3.新建一个类继承AndroidTestCase
然后在这个类中写自己的测试方法,如下:package com.tu.sql_test; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import android.database.sqlite.SQLiteDatabase; import android.test.AndroidTestCase; import android.util.Log; import com.tu.bean.Person; import com.tu.dao.PersonDao; import com.tu.db.DatabaseOpenHelper; public class DataBaseTest extends AndroidTestCase { private String TAG = "DataBaseTest"; public void insert(){ PersonDao personDao = new PersonDao(getContext()); personDao.insert("王五", 14); } public void testInsert(){ PersonDao personDao = new PersonDao(getContext()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss"); //获取当前时间 long start = System.currentTimeMillis(); //开始大量数据库操作 for(int i=0;i<10000;i++){ personDao.insert("张飞"+i, i); } //获取结束时间 long end = System.currentTimeMillis(); //计算耗时 long time = end - start; Date date = new Date(time); Log.i(TAG , format.format(date)); } public void testInsertWithTransaction(){ DatabaseOpenHelper helper = new DatabaseOpenHelper(getContext()); SQLiteDatabase db = helper.getWritableDatabase(); SimpleDateFormat format = new SimpleDateFormat("ss"); //获取当前时间 long start = System.currentTimeMillis(); if(db.isOpen()){ try{ db.beginTransaction(); //开始大量数据库操作 for(int i=0;i<10000;i++){ db.execSQL("insert into person(name,age) values(?,?);", new Object[]{"Baby"+i,i}); } db.setTransactionSuccessful(); }finally{ db.endTransaction(); } db.close(); } long end = System.currentTimeMillis(); //计算耗时 long time = end - start; Date date = new Date(time); Log.i(TAG , format.format(date)); } public void queryAll(){ PersonDao personDao = new PersonDao(getContext()); List<Person> linkedList = personDao.queryAll(); // List<Person> list = new ArrayList<>(linkedList); for (Person person : linkedList) { Log.i(TAG , person.toString()); // System.out.println(111111); } } public void delete(){ PersonDao personDao = new PersonDao(getContext()); personDao.delete("王五"); } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件