我有一个Database类,它依赖于一个继承了SQLOpenHelper的类。我正在使用Android仪器测试和Mockito模拟依赖项。我们注意到当使用Mockito.mock(class)
时,Mockito实际上并没有模拟实现,而是运行了实际代码并抛出了NullPointerException异常,正如我们所预期的那样。在API 19设备上,测试按预期运行并且模拟工作正常。
是否有人有任何建议或尝试的事情?我已经尝试了真实设备和仿真器,结果类似。这可能是Mockito问题还是dex-maker问题?我在搜索中没有找到任何信息。
在进行了更多测试后,我发现使用Mockito模拟的任何类都只是使用其实现。以下是我的依赖关系:
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
注意:如果这会有任何区别,这也在一个库模块中。