Android常用测试父类

TestCase
junit.framework.TestCase
测试与Android环境无关的接口,可以继承自此类,例如对纯粹的日期格式转换等接口的测试。这种通过接口测试通常用于一个工具类的功能测试。
AndroidTestCase
android.test.InstrumentationTestCase
测试某个Activity类中的函数,可以继承自此类。使用此父类时需要编写启动Activity的代码。
我们可以看到,public class HelloTest extends InstrumentationTestCase {
   
 Hello mActivityTested;
 public HelloTest(){
  
 }
 

 @Override
 protected void setUp() throws Exception {
  Intent intent =new Intent();
  intent.setClassName("com.xmobileapp.hello", Hello.class.getName());
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  mActivityTested = (Hello) getInstrumentation().startActivitySync(intent);
  
 }
此例中所及策划给你的父类就是InstrumentationTestCase。继承InstrumentationTestCase测试类的特点是需要将被测试项实例化。
Hello mActivityTested;

mActivityTested=(Hello)getInstrumentation().startActivitySync(intent);
实例化了被测试项Hello
ActivityInstrumentationTestCase
android.test.ActivityInstrumentationTestCase
使用此类父类是无需编写启动Activity的代码,只需向父类构造函数传递被启动Activity的包名和class对象。例子:
public class TestApp extends ActivityInstrumentationTestCase2<AddUT> {
   
    public TestApp()
    {
        super("com.xmobileapp", AddUT.class);
    }
   
    public void testSum()
    {
        assertEquals(5, getActivity().add(2, 3));
    }
   
}
就是继承了父类ActivityInstumentationTestCase。继承ActivityInstrumentationTestCase测试类的特点是不需要将被测试项实例化。如:
public void testSum()
    {
        assertEquals(5, getActivity().add(2, 3));
    }
   
}
直接调用了getActivity()函数,而不是像继承了InstrumentationTestCase的上个例子中需要将Hello被测类实例化。

测试中常用的方法
AndroidTestCase.getContext():
此函数的功能为得到Android系统的上下文对象,通过它可以取得contentResolver等对象。
ActivityInstrumentationTestCase.getActivity()
此函数的功能为得到被测Activity对象
assertTrue(String message,boolean condition)
声明状态是True
assertFalse(String message,boolean condition)
声明状态是False
assertEquals(String message,T expected,T expected)
声明两个对象相等
assertNotNull(String message,Object object)
声明对象不为空
assertNull(String message,Object object)
声明对象为空
fall(String message)
测试失败并附带一条消息

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值