2016-08-18 87 views
0

测试是:在ActivityA,按钮点击开始ActivityB并关闭ActivityA。如何测试ActivityA已被销毁? 我创建了一个IdlingResource来检查isFinishing()isDestroyed(),并且还监控了自定义ActivityTestRule中的布尔值,但它永远不会被调用并超时。咖啡等待活动onDestroy

我也试着检查何时使用intended/hasComponent创建了ActivityB,但如果我在perform(click())之后立即调用,则返回false。

所有动画/转场都关闭。

回答

1

我不会使用Espresso来验证是否正在调用onDestroy。您应该使用Espresso进行更高级别的测试,比如测试点击按钮将启动另一项活动,或者输入错误数据并按提交错误时出现并显示在屏幕上。

对于测试onDestroy,我会建议在单元测试中这样做,你可以使用像Robolectric这样的东西。

+0

我也试过测试'ActivityB'的UI组件是可见的,但它不一致。有时会失败。 – mbmc

+1

我很遗憾听到这个消息,但是我再也不会用Espresso测试'onDestroy'。 – CodyEngel