我对Android测试很新。我尝试使用ActivityInstrumentationTestCase2和Espresso在目标Activity上运行测试用例。
出于某种原因,我无法解释,在运行活动的测试类时,目标Activity会暂停,并且在我的测试用例运行之前会启动另一个活动。有时我会在一瞬间看到目标活动负载,然后默认为不同的活动。在其他活动接管之后,它会运行我的测试用例(导致测试始终失败)。我花了很多时间研究我的目标Activity暂停的原因,但是我找不到任何特定的东西来解决这个问题。
这基本上是我的测试类的样子:
public class RequestTests extends ActivityInstrumentationTestCase2<RequestActivity> {
public RequestTests() {
super(RequestActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
getActivity();
}
@LargeTest
public void testInitialState() throws Exception {
onView(withId(R.id.validation_hint))
.perform(scrollTo())
.check(matches(isDisplayed()));
onView(withId(R.id.request_button))
.check(matches(not(isEnabled())));
}
}
RequestActivity是我的目标活动。它会立即暂停,并运行我的其他活动之一SetupActivity。运行testInitialState()时,SetupActivity正在运行而不是RequestActivity。为什么我的目标活动会暂停?任何帮助将不胜感激。