Android单元测试类及其关系

官方的单元测试使用了Junit测试框架,也就是JunitFramework,下面有TestCase这个类,这个类是Android官方sdk的测试基类, 在TestCase这个类的基础上Android又扩展了一个叫AndroidTestCase的类,这个类在原来JunitTestCase的基础上又扩充了一些Android系统特性的一些属性,主要包含ApplicationTestCase、ServiceTestCase、ProviderTestCase2几个主要的子类。其中ApplicationTestCase是测试整个应用程序的类,允许注入一个模拟的Context到应用程序中,在应用程序启动之前初始化测试参数,并且在应用程序结束之后销毁它。ServiceTestCase是用来测试单个service的类,可以注入一个模拟的Context,也就是上下文,或者模拟的Application,或者让Android提供Context或者MocaApplication这样的方法。ProviderTestCase2是测试单个ContentProvider的一个类,这个测试类的测试是与操作系统孤立的,这样一些面向Android组件的测试类。在Android主要的组件中并没有包含Activity这样主要的组件,Activity其实使用了Instrumentation的测试框架来实现的,也就是InstrumentationTestCase这个类,InstrumentationTestCase这个类继承也是从JunitTestCase类继承过来的,在这个类中,可以使用Instrumentation的测试框架来测试Activity。使用Instrumentation Android就可以向程序发送事件来自动化的进行UI的测试并且可以精确的控制Activity的启动,监测Activity的生命周期。InstrumentationTestCase也有几个子类,其中SingleLaunchTest Case是用来测试单个Activity的类,能够触发一次Setup、一次Tadm。而不是每个方法调用的时候都触发。这个主要是针对单个Activity的一个测试类。另外一个就是ActivityTestCase,这个类又有两个子类:ActivityInsumentationTestCase2和ActivityUnitTestCase,

ActivityUnitTestCase是对单个Activity进行单一测试的类,支持注入模拟的Context或者Application,用于对Activity进行单元测试的,不同于其他的Instrumentation的类,它不能注入模拟的Intent。ActivityInsumentationTestCase2,这是一个在正常的系统环境中来测试Activity的类,它可以注入一个模拟的Intent,不同于ActivityUnitTestCase,可以在UI线程来运行测试方法,并且可以给应用程序的UI来发送按键、触摸的事件。ActivityInsumentationTestCase2其实还有一个ActivityInsumentationTestCase这样的类,已经被官方废弃了,目前是使用的ActivityInsumentationTestCase2这样的测试类,这也是在使用Insumentation测试框架的时候最经常使用的一个测试类。

转载于:https://www.cnblogs.com/ljf-hero/p/6632941.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值