我有一个用3个模块在Kotlin中编写的Android Clean Architecture项目:
这3个模块均具有用junit编写的单元测试。但是对于Kotlin,默认情况下每个课程都是最终课程。我很快遇到了一个问题:如何用模拟方法模拟最终课程
现在可以用Mockito 2
可以通过模仿扩展机制,通过创建/mockito-extensions/org.mockito.plugins.MockMaker
包含一行的文件来完成:
mock-maker-inline
此解决方案在数据模块(Android库)和表示模块(Android应用程序)上效果很好,但在我的域模块(Java库)上不起作用。
我知道,这个问题已经被问(如何嘲笑最后类的Mockito,模拟对象调用final类与静态的Mockito方法),但我没有找到我要找的答案。
默认情况下,可以通过将Gradle依赖项从常规Mockito依赖项更改来使用内联模拟方法:
compile "org.mockito:mockito-core:$mockito_version"
...至以下内容:
compile "org.mockito:mockito-inline:$mockito_version"
这样,您将不必依靠使用“资源文件夹中的文件”方法激活内联模拟,有时我发现这种方法很不稳定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句