我在操作栏上有许多带微调器的屏幕。当用户更改微调器选项时,下面的列表会刷新相应的数据。每当用户更改微调器选项时,该活动都会生成异步任务。但是,当测试在列表中查找特定帖子时,单击该选项时,我的expresso测试似乎失败了。如果我添加睡眠,它工作正常并找到帖子。如何让expresso测试等待异步任务?
答案 0 :(得分:0)
使用get method for an AsyncTask(来自docs):
如果需要等待计算完成,然后检索其结果。
应该是这样的:
try {
MyAsyncTask myTask = new MyAsyncTask();
myTask.execute(myParamObject);
MyResultObject result = myTask.get();
} catch (CancellationException e) {
Log.e("TAG", e.getMessage(), e);
} catch (InterruptedException e) {
Log.e("TAG", e.getMessage(), e);
} catch (ExecutionException e) {
Log.e("TAG", e.getMessage(), e);
}