Mockito模拟在Lollipop或更高版本中运行实际的Android代码

时间:2017-01-06 13:48:27

标签: android unit-testing mockito dexmaker

所以我有一个Database类,它有一个扩展SQLOpenHelper的依赖项,我正在测试使用Android测试测试和Mockito来模拟依赖项。我们注意到Mockito在执行Mockito.mock(class)时并没有实际模拟实现,而是实际代码正在运行并抛出空指针异常,正如我们所期望的那样。在API 19设备上,测试按预期运行,并且模拟正常工作。

有没有人有任何建议或事情要尝试?我尝试过具有类似结果的真实设备和模拟器。这可能是一个Mockito问题,还是一个dex-maker问题?我在搜索时没有找到任何信息。

经过一些更多的测试,我用Mockito模拟的任何课程实际上只是使用了实现。这是我的依赖

androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'

注意:如果这有任何区别,这也在库模块中。

1 个答案:

答案 0 :(得分:7)

因此摆脱我们旧的Mockito依赖关系和dexmaker并使用新的:Mockito-android

修正了我们的问题