如何使Espresso测试继续进行,而不等待asynctask完成?

时间:2018-07-18 09:45:00

标签: android android-espresso

在我的Android应用中-登录后有一个静态同步任务,该任务可能会运行几分钟,并将数据提取到手机数据库中。

在同步数据时,用户可以继续使用该应用程序是正常的。 但是espresso由于某种原因正在等待同步AsyncTask完全完成,然后再转到下一个屏幕,我如何告诉Espresso继续而不等待?

谢谢

1 个答案:

答案 0 :(得分:0)

documentation中所述,对onView()的调用会等待AsyncTask的实例当前不执行任务。不过,在查看Espresso implementation时,您可以注意到Espresso正在寻找andriod.os.AsyncTask#THREAD_POOL_EXECUTOR(或其支持版本android.support.v4.content.ModernAsyncTask)的实例。因此,如果您定义了一个自定义执行器(尝试从AsyncTask实现中复制一个),则可以通过asyncTask.executeOnExecutor(myCustomExecutor, params)这样的方式执行AsyncTask实例,而Espresso不会暂停onView()调用,因为{{1} }正在运行。