android测试类

一共需要做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("王五");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值