如何在Android项目的Java模块上使用Mockito 2模拟最终课程?

洛佩兹·米哈伊尔

我有一个用3个模块在Kotlin中编写Android Clean Architecture项目

  • 数据(Android库)
  • 域(Java库)
  • 演示文稿(Android应用程序)

这3个模块均具有用junit编写的单元测试但是对于Kotlin,默认情况下每个课程都是最终课程。我很快遇到了一个问题:如何用模拟方法模拟最终课程

现在可以用Mockito 2

可以通过模仿扩展机制,通过创建/mockito-extensions/org.mockito.plugins.MockMaker包含一行的文件来完成

mock-maker-inline

此解决方案在数据模块(Android库)和表示模块(Android应用程序)上效果很好,但在我的域模块(Java库)上不起作用

我知道,这个问题已经被问(如何嘲笑最后类的Mockito模拟对象调用final类与静态的Mockito方法),但我没有找到我要找的答案。

zsmb13

默认情况下,可以通过将Gradle依赖项从常规Mockito依赖项更改来使用内联模拟方法:

compile "org.mockito:mockito-core:$mockito_version"

...至以下内容:

compile "org.mockito:mockito-inline:$mockito_version"

这样,您将不必依靠使用“资源文件夹中的文件”方法激活内联模拟,有时我发现这种方法很不稳定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章