我今天正在对一个简单的应用程序进行单元测试。我有一个方法
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);
杀死活动,而不仅仅是停止它?