robotium使用笔记

1、多个测试用例运行时实际上是有顺序的,显示含有测试方法的类按照字母排序,同一个类里面的测试方法再按照字母排序,依次执行。所以可以通过添加前缀(A_,B_)等等调整测试顺序,让测试例子更符合渐进逻辑。

 

2、继承问题,理论上测试类可以继承ActivityInstrumentationTestCase2或者是它的子类,但是需要注意的是,如果是继承子类,那么子类中的测试方法在运行这个测试类的时候也会再次运行。

假设 A继承ActivityInstrumentationTestCase2且有测试方法testA;

        B继承A,且有测试方法testB;

那么当运行测试时,测试顺序是

        testA(A)--->testA(B)--->testB(B)

即testA会运行2次。

 

3、ActivityInstrumentationTestCase2<T>实际上API中要求指定被测试类的具体类型,但是在黑盒测试中,往往无法取得具体的测试类,在尝试直接用Activity代替时,测试效果不太理想,猜测可能是:

  • 用Activity代替会令到启动被测试程序时出现未知的问题。(仅仅是根据现象猜测)
  • 实测机子本身性能有问题导致测试效果不稳定,这个也是有可能的。

之后解决方法是不指定具体类型:

@SuppressWarnings({ "unchecked", "rawtypes" })
public abstract class Framework extends ActivityInstrumentationTestCase2{

	private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.***.LauncherActivity";
	private static Class launcherActivityClass;
	static {
		try {
		launcherActivityClass = Class
		.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
		} catch (ClassNotFoundException e) {
		throw new RuntimeException(e);
		}
	}
	 
	public Framework() throws ClassNotFoundException {
		super(launcherActivityClass);
	}
}

 不过会提示warning,可添加注释消除warnning

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值