寻找一些单元测试的帮助,该测试在上一次测试启动活动后失败。我没有得到的是下一次测试的挂起 - 启动活动测试正确完成。
这是我的测试,它启动了一个带有Intent的Activity,它似乎传递了
public final void testStartsIntent() {
Instrumentation inst = getInstrumentation();
Intent intent = new Intent(mActivity,uk.co.example.activity.TargetActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ActivityMonitor monitor = inst.addMonitor(uk.co.example.activity.TargetActivity.class.getName(), null, false);
inst.startActivitySync(intent);
monitor.waitForActivityWithTimeout(2000);
assertEquals(1, monitor.getHits());
Activity randomActivity = monitor.getLastActivity();
inst.removeMonitor(monitor);
}
好像没错?
我的下一次测试运行
public final void testPreconditions(){
assertNotNull(mActivity);
}
它一直挂起,直到我退出这个过程。我已经尝试在我的拆解()中明确地将我的mActivity设置为null,但这应该无关紧要。这是我的设置和拆解
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
mResultList = (ListView) mActivity.findViewById(android.R.id.list);
mTextField = (TextView) mActivity.findViewById(uk.co.example.R.id.txtResultViewHeader);
String items[] = {"1","2"};
mAdapter = new ArrayAdapter<String>(mActivity,android.R.id.list,items);
}
protected void tearDown() throws Exception {
super.tearDown();
}
任何人都知道为什么后续测试会挂起 - 可能是mActivity状态不正确,但为什么挂起不是错误?值得补充的是,如果删除testStartIntent测试,testPreconditions()测试运行正常......
感谢。