我有一些屏幕,在操作栏上有一个微调按钮。当用户更改微调器选项时,下面的列表将使用适当的数据进行刷新。每当用户更改微调器选项时,该活动都会产生一个异步任务。但是,当测试在列表中寻找特定的帖子时,每当单击选项时,我的expresso测试似乎都会失败。如果我添加一个睡眠,它工作得很好,并找到帖子。如何让expresso测试等待该异步任务?
发布于 2017-07-18 01:41:04
使用(来自docs的) get method for an AsyncTask
如果有必要,
会等待计算完成,然后检索其结果。
应该是这样的:
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);
}https://stackoverflow.com/questions/45149544
复制相似问题