AsyncTask.execute是final,Mockito无法模拟final类或方法。
- 无法模拟最终方法-执行它们的实际行为没有任何异常。Mockito无法警告您嘲笑最终方法,因此请保持警惕。
具体来说,这是因为Java可以在编译时解析链接,这意味着Mockito不能使用其生成的子类和方法重写来更改行为。
您可以选择使用Powermock(使用特殊的类加载器重写旧行为)或Robolectric,其功能相同,但是将类替换为Android特定的测试友好的替代实现(“影子”),包括AsyncTask的替代实现。



