Android单元测试之Activity测试

       Activity测试类有三个,包含主要的ActivityInstrumentationTestCase2ActivityUnitTestCase,当然,如果测试单个Activity,还可以用到SingleLaunchActivityTestCase

       1.ActivityInstrumentationTestCase2

         运行测试多个应用下的多个Activity,可以发送虚拟Intent,不允许使用虚拟化的Contexts或者Application.如果要向当前测试的Activity发送Intent的话,一定要在getActivity()方法之前就发送,在getActivity()方法之后发送是不起作用的。

        怎么建立测试项目就不多讲了,现在看看测试该Activity的代码:

 

public class AutoPlayActivityTest extends ActivityInstrumentationTestCase2<AutoPlayActivity> {

 

ImageView imageView;

AutoPlayActivity mActivity;

String SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator;

String[] uuuu;

public AutoPlayActivityTest() {

super("lichunan.lcn.activity.AutoPlayActivity",AutoPlayActivity.class);

}

 

@Override

protected void setUp() throws Exception {

// TODO Auto-generated method stub

super.setUp();

uuuu = new String[]{SDCARD+"080806012774292.jpg",SDCARD+"20110801_121726.jpg"};

Intent intent = new Intent();

intent.putExtra("allPhotoPath", uuuu);

//mActivity.setIntent(intent);

setActivityIntent(intent);

mActivity = this.getActivity();

imageView = (ImageView)mActivity.findViewById(R.id.imageView);

}

 

@Override

protected void tearDown() throws Exception {

super.tearDown();

}

public void testAutoPlay(){

}

}

             说明一下,setUp() 是在执行所有方法之前先执行,tearDown()在执行所有方法之后再执行。

       其实 testAutoPlay()也不是没用,因为只有setUp和tearDown方法的话,没有测试的方法,好像会报send 1,receive 0的错误,具体什么原因我也不知道,哪位大牛知道的,希望能够在后面留言!

        另外,要注意的是,测试程序里super("lichunan.lcn.activity.AutoPlayActivity",AutoPlayActivity.class)的第一个参数一定要对应Mainfest.xml文件中 <instrumentation android:targetPackage=“”>中的字段,也就是AutoPlayActivity.class对应的包。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值