在intellij idea 中进行android 单元测试

本次用来测试的代码是sqlite进行数据操作。

 

 

######右键选择要进行单元测试的应用

 

 

 

 

#############弹出选择框,选择Android>Test Module>Next

 

 

 

###########Finish

 

 

 

#####现在回到项目目录

 

#########同样出现的还有运行的Run,已经自动为我们配置好了。

 

 

###########回到HomeActivityTest.java中

 

 

###############

 

#########这是我们最后的测试代码

 

package com.op.teachingliteapp.activity;

import android.annotation.TargetApi;
import android.content.ContentValues;
import android.os.Build;
import android.test.ActivityInstrumentationTestCase2;
import com.op.teachingliteapp.common.database.CourseTable;
import com.op.teachingliteapp.common.database.DBHelper;
import com.op.teachingliteapp.common.database.dao.CourseDao;


/**
 * This is a simple framework for a test of an Application.  See {@link android.test.ApplicationTestCase
 * ApplicationTestCase} for more information on how to write and extend Application tests.
 * <p/>
 * To run this test, you can type: adb shell am instrument -w \ -e class com.op.teachingliteapp.activity.HomeActivityTest
 * \ com.op.teachingliteapp.tests/android.test.InstrumentationTestRunner
 */
@TargetApi(Build.VERSION_CODES.CUPCAKE)
public class HomeActivityTest extends ActivityInstrumentationTestCase2<HomeActivity> {
    DBHelper dbHelper;
    @TargetApi(Build.VERSION_CODES.CUPCAKE)
    public HomeActivityTest() {
        super("com.op.teachingliteapp", HomeActivity.class);
    }

    @Override
    public void setUp() throws Exception {
        super.setUp();
       dbHelper  = new DBHelper(getActivity());

    }

    public void testCourseDaoInsert() throws Exception {
        CourseDao courseDao = new CourseDao(dbHelper);
        ContentValues contentValues = new ContentValues();
        contentValues.put(CourseTable.COLUMN_ID,"3300");
        contentValues.put(CourseTable.COLUMN_COURSE_NAME,"JAVA");
        contentValues.put(CourseTable.COLUMN_COURSE_TYPE_ID,"2209");
        contentValues.put(CourseTable.COLUMN_CREDIT,"4");
        contentValues.put(CourseTable.COLUMN_CREATE_TIME,"2015-06-21 17:35:00.000");
//        学时
        contentValues.put(CourseTable.COLUMN_PERIOD,"78");
        contentValues.put(CourseTable.COLUMN_UPDATE_TIME,"2015-06-24 17:35:00.000");
        contentValues.put(CourseTable.COLUMN_DEPT_ID,"4044");

        assertEquals(1, courseDao.insert(contentValues));


    }



}

 

 

############运行测试,测试需要虚拟机的辅助,但是测试过程中不会出现Activity的启动(我们看不到任何界面的东西)。

 

#############测试在跑了

 

 

##############测试出错了,修改一下代码(以为之前已经有了表里已经有了一条数据,所有行行号不会是1,而是2,现在要把它修改为3)

assertEquals(3, courseDao.insert(contentValues));

  

 

 

###########现在再跑一遍测试,成功了。

 

 

 

 

##########最后的表是这样的。

posted @ 2015-06-24 18:42  Genji_  阅读(1850)  评论(0编辑  收藏  举报