• 在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));
    

      

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

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

  • 相关阅读:
    UVa 10474
    UVa 1339
    UVa 1368
    UVa 1585
    UVa 1586
    ACM中Java高效输入输出封装
    Ajax中Get请求与Post请求的区别
    AJAX——核心XMLHttpRequest对象
    PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
    PHP类方法重写原则
  • 原文地址:https://www.cnblogs.com/nova-/p/4598404.html
Copyright © 2020-2023  润新知