Android测试教程(10):ActivityInstrumentationTestCase2示例

jerry Android 2015年08月24日 收藏

ActivityInstrumentationTestCase2 主要用来测试一个或多个Activity的功能测试,使用和最终应用同样的运行环境来测试Activity的功能。可以使用正常系统Context (非Mock)来测试Activity的功能。 并允许你创建一些Mock Intent 用来测试Activity的响应。要注意的是,这种TestCase不允许使用Mock的Context和Application对象测试,也就是说你必须使用和应用程序实际运行的环境来测试。

ActivityInstrumentationTestCase2 的继承关系如下图所示:

它的getActivity() 方法可以取得被测试的Activity的实例对象。

ApiDemosTest 的代码如下:

public class ApiDemosTest
 extends ActivityInstrumentationTestCase2<ApiDemos> {

 public ApiDemosTest() {
 super(ApiDemos.class);
 }


 public void testActivityTestCaseSetUpProperly() {
 assertNotNull("activity should be launched successfully",
 getActivity());
 }
}

测试方法testActivityTestCaseSetUpProperly 使用getActivity() ,主要目的是测试本测试的Activity能否正常启动,测试getActivity() 是否非空。

此外ActivityInstrumentationTestCase2 还提供了两个方法:

  • setActivityInitialTouchMode(boolean) 在启动Activity之前设置TouchMode
  • setActivityIntent(Intent) 可以设置启动Activity的Intent 对象来测试Activity