本次用来测试的代码是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));
###########现在再跑一遍测试,成功了。
##########最后的表是这样的。