我在操作栏上有许多带有微调器的屏幕。当用户更改微调器选项时,下面的列表会刷新相应的数据。每当用户更改微调器选项时,该活动都会生成一个异步任务。但是,每当单击该选项时,我的 expresso 测试似乎都会失败,因为测试正在寻找列表中的特定帖子。如果我添加睡眠,它可以正常工作并找到帖子。如何让 expresso 测试等待该异步任务?
问问题
270 次
1 回答
0
对 AsyncTask使用get 方法(来自文档):
如有必要,等待计算完成,然后检索其结果。
应该是这样的:
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);
}
于 2017-07-17T17:41:04.087 回答