本文介绍了与robolectric测试异步任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你知道如何实现单元测试使用Robolectric AsyncTasks?任何指针将AP preciated。
Do you know how to implement unit testing for AsyncTasks using Robolectric ? Any pointers will be appreciated.
推荐答案
呼叫执行(...)
的任务,然后等待结果电话<$c$c>Robolectric.runBackgroundTasks()$c$c>/<$c$c>Robolectric.flushBackgroundThreadScheduler()$c$c>那么你就可以断言。
Call execute(...)
on the task, then to wait for the result call Robolectric.runBackgroundTasks()
/Robolectric.flushBackgroundThreadScheduler()
then you can assert.
@Test
public void test() {
//create task
MyAsyncTask asyncTask = new MyAsyncTask();
//start task
asyncTask.execute(...);
//wait for task code
// Robolectric.runBackgroundTasks(); (pre 3.0)
Robolectric.flushBackgroundThreadScheduler(); //from 3.0
//can run asserts on result now
assert...(asyncTask.get());
}
这篇关于与robolectric测试异步任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!