我有一个用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"
这样,您将不必依靠使用“资源文件夹中的文件”方法激活内联模拟,有时我发现这种方法很不稳定。
问题内容: 我上了最后一堂课,像这样: 我在其他这样的班级中使用这个班级: 在我的JUnit测试类中,Seasons.java我想模拟RainOnTrees该类。我该如何使用Mockito做到这一点? 问题答案: 仅在Mockito v2中可以模拟最终/静态类/方法。 将此添加到你的gradle文件中: 使用Mockito常见问题解答中的 Mockito v1,这是不可能的: `What are
我在一个maven项目中使用了mockito-core-2.7.21,它正按预期工作。 但是为了启用对final类的模拟,我在源文件夹下创建了一个文件并添加了文本。 按照https://www.baeldung.com/mockito-final以及Mock final class with mockito2,它应该允许我模拟final class,但当我运行junit测试时,我得到以下错误: J
问题内容: 我该如何与正在测试的班级中的Mockito其他班级进行模拟? 例如: MyClass.java 任何东西PerformerClass.java 并测试: 我是否可以欺骗以排除不必要的逻辑?我可以重写方法来简单地返回还是? 为什么指定Mockito,因为在Robolectric进行Android测试时需要它。 问题答案: 您可以重构,以便它使用依赖注入。不用让它创建实例,您可以将类的实例
如何在android xamarin项目中使用来自Maven或j-center存储库的预构建模块代码?
我有最后一节课,大概是这样的: 我在其他类中使用这个类,如下所示: 在的JUnit测试类中,我想模拟类。我怎么能用莫基托做到这一点?
我有最后一节课。 org.mockito.exceptions.base.MockitoExc0019:不能模拟/间谍类改造2.响应Mockito不能模拟/监视以下内容:-最终类-匿名类-原始类型 如何使用Powermockito模拟响应类?