Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 测试单击按钮时是否启动了正确的活动_Android_Unit Testing_Testing_Android Activity - Fatal编程技术网

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]: