我今天正在测试一个简单的应用程序。我有一个方法
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);
是否会阻止活动,而不仅仅是停止活动?
答案 0 :(得分:3)
ActivityUnitTestCase 是单个活动的独立单元测试。 受测试的活动不参与系统交互。
您可以使用startActivity()
开始活动,并且会调用onCreate()
,但是如果您希望进一步练习活动生命周期方法,你必须自己从你的测试用例中调用它们。