我正在尝试在单元测试中使用Mockito在Android上测试异步回调。我的测试目前看起来像这样:
CallbackClass callbackMock = mock(CallbackClass.class);
MyClass.init(callbackMock);
verify(callbackMock, timeout(5000).times(1)).onSuccess(true);
init方法在后台执行AsyncTask。该线程始于:
executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
该代码已执行,但测试中从未调用doInBackground
。结果,永远不会调用该回调。
当我在测试异步调用之外调用init方法时,它可以工作。与仪器测试相同。单元测试中的异步任务是否有任何限制?或者我缺少什么?