(3)自动化测试Activity
Android框架提供了测试Activity的基类android.test.ActivityTestCase,自定义一个DemoActivityTest继承ActivityTestCase。重写setUp()方法,launch测试目标Activity。基类提供了launchActivity()方法来帮助完成,同步方法,调用完即启动Activity成功。执行这个测试类的时候也可以看到,Activity界面闪现。
添加测试用例(testXXX方法)的方法同上。此例程中以测试一个boolean返回值方法为例。
(4)自动化测试Service
Android框架提供了测试Service的基类android.test.ServiceTestCase,自定义一个DemoServiceTest继承ServiceTestCase,需要做两件初始化的工作:
第一,定义一个不带参数的构造方法,并且在其中调用super构造方法,把目标类DemoService.class传入。
第二,重写setUp()方法,bind测试目标Service。基类提供了bindService()方法来帮助完成,这个方法不同于Context.bindService(),前者是同步方法,调用完即bind成功。这种设计显然是针对自动化测试做的优化。调用完bind之后,即可通过基类方法getService()得到目标Service的应用,从而开始测试。
添加测试用例(testXXX方法)的方法同上。此例程中以测试一个boolean返回值方法和一个String返回值方法为例。
(5)补充
至此,已经可以在测试用例中拿到测试对象。对于Public的方法或域的测试直接调用即可。对于非public的,需要使用反射。这里不详述。