Android 测试单击按钮时是否启动了正确的活动
我正在为一个有几个按钮的活动编写测试, 每个人都会开始一项新的活动 我如何知道按钮是否正在启动正确的活动 这就是我到目前为止所做的:Android 测试单击按钮时是否启动了正确的活动,android,unit-testing,testing,android-activity,Android,Unit Testing,Testing,Android Activity,我正在为一个有几个按钮的活动编写测试, 每个人都会开始一项新的活动 我如何知道按钮是否正在启动正确的活动 这就是我到目前为止所做的: public class MainActivityTest extends ActivityUnitTestCase<MainActivity> { private Intent mMainIntent; public MainActivityTest() { super(MainActivity.class);
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());
}
}
public类MainActivityTest扩展了ActivityUnitTestCase{
私人意图和目的;
公共维护活动测试(){
超级(MainActivity.class);
}
@凌驾
受保护的void setUp()引发异常{
super.setUp();
Mmainitent=新意图(Intent.ACTION\u MAIN);
}
@中考
公共无效testButtonActivityA(){
MainActivity活动=startActivity(mMainContent,null,null);
Button buttonActivityA=(Button)activity.findViewById(com.project.R.id.Button\u activity\u a);
按钮oice.performClick();
Intent i=getStartedActivityIntent();
资产净值(i);
assertTrue(isFinishCalled());
}
}
PS:isFinishedCalled()失败了,如果我发起一个新的全屏活动,这怎么可能?
谢谢,它失败了,因为没有调用finish() 您必须自己完成一个活动,否则,当您打开一个新活动时,它会出现在“堆栈”的顶部,并且原始活动已调用onPause,但仍处于“活动”状态。finish()是一个隐式调用,您可以将其编码到应用程序中以销毁活动 请你去读一下这本书
然后学习调用它失败,因为没有调用finish() 您必须自己完成一个活动,否则,当您打开一个新活动时,它会出现在“堆栈”的顶部,并且原始活动已调用onPause,但仍处于“活动”状态。finish()是一个隐式调用,您可以将其编码到应用程序中以销毁活动 请你去读一下这本书
然后学习调用按钮所在的活动已暂停,尚未完成。这[1]可能会给您提供线索。[1] :按钮所在的活动已暂停,尚未完成。此[1]可能会为您提供线索。[1]: