zoukankan      html  css  js  c++  java
  • 在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));
    

      

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

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

  • 相关阅读:
    java只有值传递,不存在引用传递
    Sring容器的懒加载lazy-init设置
    Spring加载xml配置文件的方式(BeanFactory和ApplicationContext区别)
    Mysql中外键的 Cascade ,NO ACTION ,Restrict ,SET NULL
    深入浅出Java回调机制
    Redis配置文件中关于bind参数
    Mysql中MyISAM引擎和InnoDB引擎的比较
    Mybatis(一):MyBatis配置文件config.xml详解
    mybatis数据源源码剖析(JNDI、POOLED、UNPOOLED)
    Mybatis(六):spring与mybatis三种整合方法
  • 原文地址:https://www.cnblogs.com/nova-/p/4598404.html
Copyright © 2011-2022 走看看