lop*_*ael 1 java junit android mockito kotlin
我在Kotlin写了一个Android Clean Architecture项目,有3个模块:
这三个模块都有使用junit编写的单元测试.但是对于Kotlin,默认情况下每个班级都是最终的.我很快就遇到了问题:如何使用mockito模拟最后一堂课
Mockito 2现在可以实现
它可以通过mockito扩展机制通过创建/mockito-extensions/org.mockito.plugins.MockMaker包含单行的文件来完成:
mock-maker-inline
Run Code Online (Sandbox Code Playgroud)
此解决方案在数据模块(Android库)和演示模块(Android应用程序)上运行良好,但不适用于我的domaine模块(Java库).
我知道,这个问题已经被问(如何嘲弄与一的Mockito final类,调用final类与静态的Mockito方法Mock对象),但我没有找到我要找的答案.
zsm*_*b13 16
默认情况下,您可以使用内联模拟方法,通过从正常的Mockito依赖项更改Gradle依赖项:
compile "org.mockito:mockito-core:$mockito_version"
Run Code Online (Sandbox Code Playgroud)
......以下内容:
compile "org.mockito:mockito-inline:$mockito_version"
Run Code Online (Sandbox Code Playgroud)
这样您就不必依赖于使用"资源文件夹中的文件"方法激活内联模拟,我发现这种方法有时会出现片状.