Android项目如果每次都整个调试的话,要加载UI,会等很长时间。所以单元测试就显得很方便了。

要进行单元测试,首先得修改下AndroidManifest.xml文件。在Instrument标签里点右侧的Add按钮。然后在弹出的窗口双击 Instrument。然后在右侧就会多出一些东西赖。先选择第二行的Target package 的Browse……,选择要测试的包。或者要测试的类所属的包。我这里选的事 com.example.scrollview 包,然后再选择第一行 Name 后的Browse ,可能会搜索一会儿,然后下面就会有一个 “android.test.InstrumentationTestRunner” 选中它,然后保存AndroidMenifest.xml。

 

然后打开AndroidMenifest.xml的标签,发现在 Application标签上面多了一行 如下的代码

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.scrollview"></instrumentation>

要想进行单元测试还得加些东西,是在 Application里面,加入如下一行 。

<uses-library android:name="android.test.runner"/> 其中android:name 的值可以用 Alt+/来让Eclipse帮你自动补充进去。

接下来就要写测试代码了。

在刚才选的包下面建一个测试类,也可以是这个包的子包里。这个测试类要继承 AndroidTestCase 比如MyTest 在他的类里面可以写测试方法。完成后,右击方法名,选择run as=》Android JUnit Tset。也可以进行调试,选好断点后,右击方法名,选择 debug as =》 Android JUnit Tset

package com.example.scrollview.test;

import org.apache.http.client.HttpClient;
import org.apache.http.protocol.HTTP; import com.example.scrollview.utils.HttpUtil; import android.test.AndroidTestCase;
import android.text.Html;
import android.util.Log; public class MyTest extends AndroidTestCase {
String testUrl = "http://192.168.1.2/post.php?key=name";
String params = "name=xiaoming&weight=78"; public void testHttpGet() {
String message = HttpUtil.sendGetMethod(testUrl, params, HTTP.UTF_8); Log.d("shang", "testHttpGet:" + Html.fromHtml(message));
} public void testHttpPost() {
String message = HttpUtil.sendPost(testUrl, params, HTTP.UTF_8);
Log.d("shang", "testHttpPost:" + Html.fromHtml(message));
}
}

这个要求连上手机,或者有模拟器,但实际上不会调用UI,所以还是很快的,更主要的是他可以独立的测试一个类或方法。

Android项目使用Eclipse进行单元测试的更多相关文章

  1. 导入android项目在eclipse中会报@Override错误

    很多时候导入android项目在eclipse中会报@Override错误,这是由于java编译器的版本不正确,Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明:但1. ...

  2. android项目在eclipse下编译运行的问题

    JDK与电脑系统要匹配,都是32位或者64位: android工程要与JDK相匹配,如果之前的android工程使用的jdk版本较高,则可能出现一些包或者类.方法.属性对应不上而报错,Android ...

  3. Java,Android 项目导入Eclipse常见错误

    一.导入的jar包不存在: 右键工程属性查看: 导入的第三方jar包不存在: 解决方法: 删除该jar包,得到该jar包并存至本地,再导入该jar包 二.中文字符乱码: 解决方法: 右键项目属性: 修 ...

  4. Jenkins构建Android项目持续集成之单元测试及代码覆盖率

    单元测试 在软件开发中一直在推崇TDD(测试驱动开发),但是一直不能被有效的执行或者并不是真正的测试驱动开发(先开发后写单元测试),因为我们懒!而Android开发又是大多应用层面的开发,很多都是和视 ...

  5. 记一次从git@osc导入Android项目到Eclipse的过程

    . . . . . 之前写了一个Android的小项目,放在了git@osc上面托管代码.第一次开发完之后直接用git bash提交上去,然后每次修改都是手工通过git bash往上面合并代码.感觉很 ...

  6. 【转】引入android项目在eclipse ADT中显示中文乱码问题

    (1)修改工作空间的编码方式:Window->Preferences->General->Workspace->Text file Encoding在Others里选择需要的编 ...

  7. android项目导入eclipse变成java项目——修改.project文件——亲测有效

    解决办法:http://www.cnblogs.com/yunfang/p/6068599.html

  8. Android 如何在Eclipse 引入外部纯Java项目(不是打成Jar使用)

    应用情景--如标题: 在Eclipse的 “Android启动项目”中引入“外部的纯Java项目”,能运行的只有是基于Android的测试代码才可以. 一直很纳闷,如果外部写好一个Java插件(例如服 ...

  9. Android studio导入eclipse项目且不改变目录结构

    Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同 ...

随机推荐

  1. vue2.0 实现click点击当前li,并动态添加class(这种方法不太喜欢)

    1,文件内容 ---- 使用v-for遍历数据 ---- @click="selectSort(item)"添加点击事件,并把每个obj=item传入 ---- v-show=&q ...

  2. 阿里云高速maven库

    <repository> <id>alimaven</id> <name>aliyun maven</name> <url>ht ...

  3. JQuery元素选择

    1.基本元素选择器 $(“p”) //选取<p>元素 $(“p.info”) //选取所有class=”info”的<p>元素 $(“p#demo”) //选取id=”demo ...

  4. asp.net曲线图

    highcharts的曲线图控件真的很强大,自己研究了下,做了一个简单的,给自己留个备忘,希望能帮到需要的朋友 Dome下载:http://files.cnblogs.com/linyijia/asp ...

  5. HBase和ZooKeeper

    HBase和ZooKeeper HBase内置有ZooKeeper,也可以使用外部ZooKeeper. 让HBase使用一个已有的不被HBase托管的Zookeep集群,需要设置 conf/hbase ...

  6. selenium 获取按钮的笔记

    测试odoo时,发现大部分按钮都是动态生成,id也是动态的, 只能用xpath,但是配置一旦改变导致按钮位置改变 想到一个办法,遍历所有按钮,然后内容相符的才点击,测试代码如下 submit_loc ...

  7. Unity中对SQL数据库的操作

    在Unity中,我们有时候需要连接数据库来达到数据的读取与储存.而在.NET平台下,ADO.NET为我们提供了公开数据访问服务的类.客户端应用程序可以使用ADO.NET来连接到数据源,并查询,添加,删 ...

  8. 目标检测YOLOv1-v3——学习笔记

    Fast RCNN更准一些.其损失函数比YOLO简单. YOLO更快 YOLO(You Only Look Once) 简介: 测试过程: 训练过程: 坐标.含有.不含.类别预测 目标检测的效果准确率 ...

  9. PowerShell----Automatic_Variables(预定义变量)

    以下这些变量是由powershell创建和维护的.ls Variable: 可以获取到所有默认的变量, 每个版本的Powershell可能有差异 $$包含会话所收到的最后一行中的最后一个令牌. $? ...

  10. 概览C++之const

    1.C语言中const与 C++中的const void main() { const int a = 10; int *p = (int*)&a; *p = 20; printf(" ...