我的测试套件中有一个测试用例存在问题。我要做的只是单击一个按钮,等待新活动启动。
ActivityMonitor monitor = getInstrumentation().addMonitor(MyActivity.class.getName(), null, false);
TouchUtils.clickView(this, searchButton);
Activity a = getInstrumentation().waitForMonitorWithTimeout(monitor, 60);
assertNotNull("The MyActivity is null.", a);
此代码应根据documentation等待最长60秒的时间让显示器受到攻击。如果它被击中,将返回活动(否则为null)。
会发生的情况是,测试通过,但大部分时间都会失败,因为a == null
。我正在观看测试用例,我可以清楚地看到它不会等待60秒。只有一点。有些打印输出我也注意到显示器实际上已被击中,但getLastActivity()
返回的活动仍为null
。
1)这怎么可能?
2)我能做些什么来避免它吗?