我正在为一个有几个按钮的活动编写测试, 每个人都开始一个新的活动,
如何知道按钮是否正在开始正确的活动?
这是我到目前为止所做的:
public class MainActivityTest extends ActivityUnitTestCase<MainActivity> {
private Intent mMainIntent;
public MainActivityTest() {
super(MainActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mMainIntent = new Intent(Intent.ACTION_MAIN);
}
@MediumTest
public void testButtonActivityA () {
MainActivity activity = startActivity(mMainIntent, null, null);
Button buttonActivityA = (Button) activity.findViewById(com.project.R.id.button_activity_a);
buttonVoice.performClick();
Intent i = getStartedActivityIntent();
assertNotNull(i);
assertTrue(isFinishCalled());
}
}
PS:'isFinishedCalled()'失败,如果我举起一个新的全屏活动怎么会这样? 谢谢,
答案 0 :(得分:1)
它失败了,因为没有调用finish()。
你必须自己完成一项活动,否则当你打开一个新活动时,它会出现在'堆栈'的顶部并且原始活动已经被onPause调用但仍然“活着”。 finish()是一个隐式调用,您可以将其编码到应用程序中以销毁活动。