ActivityUnitTestCase生命周期测试

时间:2013-08-09 05:09:46

标签: android lifecycle activityunittestcase

我今天正在测试一个简单的应用程序。我有一个方法

protected void onRestart() {
    disp.setText("The numbers you entered were");
    super.onRestart();
}

在我的测试用例中,我正在使用

public void testRestart(){
    String dispText = disp.getText().toString();
    getInstrumentation().callActivityOnStop(mActivity);
    assertEquals(dispText, disp.getText().toString());
}

断言返回true表示文本未更改。但是当我使用

public void testRestart(){
    String dispText = disp.getText().toString();
    getInstrumentation().callActivityOnRestart(mActivity);
    assertEquals(dispText, disp.getText().toString());
}

断言是假的。

根据活动生命周期,如果用户导航离开活动,则应始终在onStop()之后调用onRestart()。

onStop()之后不应该调用onRestart()方法吗?或者调用getInstrumentation().callActivityOnStop(mActivity);是否会阻止活动,而不仅仅是停止活动?

1 个答案:

答案 0 :(得分:3)

ActivityUnitTestCase 是单个活动的独立单元测试受测试的活动不参与系统交互。

您可以使用startActivity()开始活动,并且会调用onCreate(),但是如果您希望进一步练习活动生命周期方法,你必须自己从你的测试用例中调用它们。