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());
}

断言返回文本未更改的真实含义。然而,当我使用时

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

断言如预期的那样是错误的。

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

onRestart()方法不应该在onStop()之后调用吗?还是调用getInstrumentation().callActivityOnStop(mActivity);会杀死活动,而不是仅仅停止它?

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

您可以使用startActivity()启动Activity,它将调用onCreate(),但是,如果您希望进一步练习Activity生命周期方法,则必须从测试用例中自己调用它们。

相关内容

  • 没有找到相关文章

最新更新