您的位置:首页 > 移动开发 > Android开发

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("王五");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 测试