广告
返回顶部
首页 > 资讯 > 移动开发 >在android中进行单元测试
  • 834
分享到

在android中进行单元测试

单元单元测试测试Android 2022-06-06 12:06:50 834人浏览 泡泡鱼
摘要

  在开发过程中,无论是什么语言,如果能够熟练使用单元测试,提高的效率那是大大地,当测试或某相关的小姑娘报bug的时候,站在你身边,用无辜的大眼睛对 你说,“公

  在开发过程中,无论是什么语言,如果能够熟练使用单元测试,提高的效率那是大大地,当测试或某相关的小姑娘报bug的时候,站在你身边,用无辜的大眼睛对 你说,“公子,有地方出问题”,正要打开相关的应用程序或者页面重现那个问题时,你大臂一挥,“XJ,不用那么麻烦,看在下的”,打开单元测试一跑,三下 两下搞定问题,那些连myeclipse都不知道怎么拼的MM,看到这一幕,能不五体投地吗?如果公司都是大老爷们,那首先要做的和老板提意见,然后再看下文。

  Android的单元测试很简单,首先,新建一个android project。然后新建一个android test project,File-->Project-->Android-->Android Test Project。然后会弹出一个对话框“New Android Test Project”,填入工程名,在“an existing Android Project”中选择要单元测试的工程,其实和那个东西挂钩,理解为母体和寄生虫的关系也未尝不可。当选择好Android Project工程之 后,下面的那些包名之类的自然自动填好了。点“finish”,一个android test projectOK了--如果不是太倒霉的话。

  android test project工程下的目录结构和android project差不多,只是src下的package下多一个test包。接下来开始创建junit了,像平常添加新类那样右击 包,New-->Junit Test Case,接下来填junit名字,选择“New Junit3.0 Test”,Junit4.0没试过,但由于某些原因Junit4不一定能体现出Junit的特性来,一会说,现在不说,伏笔很重要,我的地盘我做 主...在下面吧setUp勾上。“finish”,现在可以写测试

  代码,具体的实例代码如下:

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;

import com.helloAndroid.Books; import com.helloAndroid.HelloAndroid; import com.helloAndroid.R;

import android.R.xml; import android.test.ActivityInstrumentationTestCase2; import android.widget.ListView; import android.widget.SimpleAdapter;

public class Junit3 extends ActivityInstrumentationTestCase2<Books> {

ListView listView; Books books;

public Junit3() { super("com.helloAndroid.HelloAndroid" ,Books.class); // TODO Auto-generated constructor stub }

protected void setUp() throws Exception { super.setUp(); books = this.getActivity();

}

//添加testPreconditions()方法,检查初始化环境,只执行一次 public void testPreconditions() {

      //assertNotNull(integer);

}

//添加单元测试 public void testText() {

      //assertEquals(resourceString,(String)mView.getText()); List<Map<String, Object>> resourceName = new ArrayList<Map<String,Object>>(); Map<String ,Object> map = new HashMap<String, Object>();

map.put("line1", "测试Junit"); map.put("img", R.drawable.weikexue); resourceName.add(map);

//listView = (ListView)books.findViewById(com.helloAndroid.R.id.l) SimpleAdapter notes = new SimpleAdapter( books, resourceName, R.layout.rows, new String[]{"line1" ,"img"}, new int[]{R.id.text1,  R.id.img});

//books.setListAdapter(notes);     }

}  

  必须继承这个类ActivityInstrumentationTestCase2,通过泛型把要单元测试的目标类联系起 来,ActivityInstrumentationTestCase2<Books>,Books是目标类,setUp() 方法是自动生成,因为刚才在创建的时间把“setUp()”的选项卡勾上了,如果没勾上的话,重写一个,然后写两个方法 testPreconditions()和testText(),testText是单元测试的执行类,testPreconditions()不知道具 体干嘛的,千万切记要把这三个方法都写出来,否则报出来的错,你去Google都搜不到解决方法。由于必须得有这三个类,而Junit4里是通过 annotation的方式标注测试的行为,android test project中用junit4可能会达不到预期效果,没测试过,反正在junit里少那三个方法,也是不行的,这是实践过的。

  简单的单元测试这样了。android的单元测试也是有一个很大的框架,ActivityInstrumentationTestCase2上面也继承了好多层。


--结束END--

本文标题: 在android中进行单元测试

本文链接: https://www.lsjlt.com/news/28819.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作