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. Form表单——例子

    Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息. Django的Form验证实例: 创建project,进行基础配置文件配置 STA ...

  2. MacBook Air 2014 安装win7

    1.准备一个4G以上容量USB3.0 U盘.制作一个带USB3.0驱动的win7 2.将制作好的win7iso镜像文件复制到macbook上,插上U盘,运行Boot Camp助理: 3.选择默认勾选项 ...

  3. 解决:Access denied for user 'root'@'localhost' (using password: YES)

    症状: 重新安装了MySQL,改变了root的密码,因此,在java代码中修改了某个DatabaseConnectionImpl的DBPASSWORD 在java中写了一些代码测试MySQL的插入和查 ...

  4. 转:PHP获取浏览器类型及版本号

    function getBrowser(){ $agent=$_SERVER["HTTP_USER_AGENT"]; if(strpos($agent,'MSIE')!==fals ...

  5. Unix系统编程()虚拟内存管理

    在之前学到过进程的内存布局中忽略了一个事实:这一布局存在于虚拟文件中. 因为对虚拟内存的理解将有助于后续对fork系统调用.共享内存和映射文件之类的主题阐述,这里还要学习一下有关虚拟内存的详细内容. ...

  6. shiro配置unauthorizedUrl,无权限抛出无权限异常,但是不跳转

    在使用shiro配置无授权信息的url的时候,发现这样的一个scenario,配置好unauthorizedUrl后仍然无法跳转,然后就在网上开始找,找了原因以及解决方案 原因,先post一个源码: ...

  7. Css三栏布局自适应实现几种方法

    Css三栏布局自适应实现几种方法 自适应实现方法我们可以从三个方法来做,一个是绝对定位 ,自身浮动法 和margin负值法了,下面我们一起来看看这三个例子吧,希望例子能帮助到各位同学. 绝对定位法三栏 ...

  8. C++ 类的继承一(访问控制)

    //类的继承 #include<iostream> using namespace std; /* 面向对象中的继承类之间的父子关系 1.子类拥有父类所有的成员属性和成员函数(包括私有成员 ...

  9. 003很好的网络博客(TCP/IP)-很全

    http://www.cnblogs.com/obama/p/3292335.html 很全的计算机网络方面的资料.

  10. 为什么选择使用Spring Cloud而放弃了Dubbo

    为什么选择使用Spring Cloud而放弃了Dubbo 可能大家会问,为什么选择了使用Dubbo之后,而又选择全面使用Spring Cloud呢?其中有几个原因: 1)从两个公司的背景来谈:Dubb ...