Android 为测试活动提供了一个特殊的检测框架。您必须使用这个框架,因为活动有一个复杂的生命周期,在这个提供的框架之外是不可调用的。查看 Android 文档开发部分的测试链接下的Activity Testing。如果这不能回答你的问题,你可能会改写一下。
编辑
你真的应该扩展 ActivityUnitTestCase 来测试一个 Activity,而不是 AndroidTestCase。您可以获得更多特定于您需要测试的功能。如果您扩展 ActivityUnitTestCase,则会有一个名为 launchActivity 的函数。它将启动您需要的活动并为您提供该活动的实例,以便您可以在其上调用方法,例如设置、获取和完成。这应该可以完成一次操作单个和多个活动所需的任何操作。
示例代码:
@MediumTest
public class Test extends ActivityUniTestCase<HelloActivity> {
public Test(Class<HelloActivity> activityClass) {
super(activityClass);
}
@MediumTest
public void testLifeCycleCreate() {
HelloActivity hActivity = startActivity(new Intent(Intent.ACTION_MAIN), null, null);
getInstrumentation().callActivityOnStart(hActivity);
getInstrumentation().callActivityOnResume(hActivity);
GoodByeActivity gActivity = launchActivity("package.goodbye", GoodByeActivity.class, null);
gActivity.finish();
}
}