本次用来测试的代码是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));

  

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

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

在intellij idea 中进行android 单元测试的更多相关文章

  1. 在Intellij IDEA中添加JUnit单元测试

    Intellij IDEA中添加JUnit单元测试 目录 Intellij IDEA中添加JUnit单元测试 下载jar包 在Intellij IDEA项目中添加jar包 下载插件并进行设置 创建存放 ...

  2. IntelliJ IDEA 中文官方文档

    目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...

  3. Android随笔之——Android单元测试

    在实际开发中,开发android软件的过程需要不断地进行测试.所以掌握Android的单元测试是极其重要的.您应该把单元测试作为Android应用开发周期的一部分,精心编写的测试可以在开发早起帮你发现 ...

  4. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. Android单元测试实践

    为什么要写单元测试 首先要介绍为什么蘑菇街支付金融这边会采用单元测试的实践.说起来比较巧,刚开始的时候,只是我一个人会写单元测试.后来老板们知道了,觉得这是件 很有价值的事情,于是就叫我负责我们组的单 ...

  6. Eclipse中调试Android技巧

    Android eclipse中程序调试 一:断点调试 用eclipse开发android程序的时,跟VS一样是可以断点单步调试的. 步骤如下. 1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键 ...

  7. Android单元测试

    安卓单元测试总结文章,目测主要会cover以下的主题: 什么是单元测试 为什么要做单元测试 JUnit Mockito Robolectric Dagger2 一个具体的app例子实践 神秘的bonu ...

  8. Android单元测试初探——Instrumentation(转载)

    学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次.这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以 ...

  9. Android单元测试: 首先,从是什么开始

    Android单元测试: 首先,从是什么开始 http://chriszou.com/2016/04/13/android-unit-testing-start-from-what.html 这是一系 ...

随机推荐

  1. bzoj 2037: [Sdoi2008]Sue的小球——dp

    Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩 ...

  2. python初步学习-pycharm使用

    Pycharm简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成. ...

  3. 详解JS中Number()、parseInt()和parseFloat()的区别

    三者的作用: Number(): 可以用于任何数据类型转换成数值: parseInt().parseFloat(): 专门用于把字符串转换成数值: 一.Number( ): (1)如果是Boolean ...

  4. hdu 2717 Catch That Cow(广搜bfs)

    题目链接:http://i.cnblogs.com/EditPosts.aspx?opt=1 Catch That Cow Time Limit: 5000/2000 MS (Java/Others) ...

  5. arpspoof dnsspoof中间人攻击

    最近搞了一个监听神器,尽管使用了网卡混杂模式,不过监听到的几乎全是本地流量, 为了获取更多有用的数据,搞一下中间人攻击,最基本的就是arpspoof + IP转发,这样就可以获得局域网内任何人的上网流 ...

  6. 转 TCP中的序号和确认号

    在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱 序.但我在查阅了当前很多资料后发现,它们大多只简单介绍了 ...

  7. Python模块学习 - Functools

    Functools模块 Higher-order functions and operations on callable objects,看这个标题我都是懵逼的,这都是啥啥啥啊,赶紧拿出百度翻译:可 ...

  8. ifa_local 和 ifa_address

    ifa_local 和 ifa_address区别联系: 1. 在配置了支持广播的接口上,与IFA_LOCAL一样,同样表示本地ip地址: 2. 对于点对点链路,IFA_ADDRESS表示的是对端的地 ...

  9. 2015多校第6场 HDU 5360 Hiking 贪心,优先队列

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5360 题意:给定n个人,现在要邀请这些人去远足,但每个人同意邀请的条件是当前已经同意去远足的人数c必须 ...

  10. [New learn]AutoLayout调查基于code

    代码https://github.com/xufeng79x/TestAutolayout-code2 0.插在前面 必须关闭view的自动缩放掩码,自动缩放掩码是autolayout出现之前系统管理 ...