达内首页 > IT技术学院 > Android学院 > 如何在android中进行单元测试
如何在android中进行单元测试
作者:广州达内科技 更新时间:2014-04-02 11:15 来源:Android开发培训

  在开发过程中如果熟练使用单元测试,将大大提高你的效率。那Android中如何进行单元测试呢?下面就来给你一一详解。

  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 project就OK了。

  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 {

  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> resourceName = new ArrayList>();

  Map map = new HashMap();

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

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


上一篇:Android开发新手需要避开的十大误区
下一篇:初学者必看!Android Handler的用法

相关资讯

  • [2014-04-08 14:59:52] 初学者必看!Android Handler的用法
  • [2014-04-02 11:15:38] 如何在android中进行单元测试
  • [2014-03-31 13:10:45] Android开发新手需要避开的十大误区
  • [2014-03-28 14:39:21] 搭建Android开发环境的五个步骤
  • [2014-03-24 11:45:49] Android开发关于intent filter的功能学习
  • [2014-03-24 11:26:06] Android 四大常用命令整理分享
  • 【2013-2月28日】
    Java 软件工程师就业班
    >>热招中!


    【2013-2月28日】
    3G-Android 工程师就业班
    >>热招中!


    【2013-2月28日】
    3G-Android 工程师周末班
    >>热招中!

    【2013-2月28日】
    软件测试 工程师就业班
    >>热招中!