gpt4 book ai didi

android - 测试单击按钮时是否启动了正确的 Activity

转载 作者:行者123 更新时间:2023-11-28 20:46:36 25 4
gpt4 key购买 nike

我正在为一个有几个按钮的 Activity 编写测试,每一个都开始一个新的 Activity ,

我如何知道按钮是否启动了正确的 Activity?

这是我目前所拥有的:

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()' 失败了,如果我引发一个新的全屏 Activity 会怎样?谢谢,

最佳答案

失败是因为没有调用 finish()。

您必须自己完成一项 Activity ,否则当您打开一个新 Activity 时,它会出现在“堆栈”的顶部,并且原始 Activity 已调用 onPause 但仍处于“Activity 状态”。 finish() 是一个隐式调用,您可以将其编码到您的应用程序中以销毁 Activity 。

请阅读 Android Activity Lifecycle

然后学习调用when you should call finish()

关于android - 测试单击按钮时是否启动了正确的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com