是否可以在不打开课程的情况下将Mockito与Kotlin一起使用? [英] Is it possible to use Mockito with Kotlin without open the class?
问题描述
我们可能知道,默认情况下,一旦定义Kotlin类,它将是最终的,除非明确声明为open
.
As we probably know, by default Kotlin class once defined, it is final, unless it is explicitly declared open
.
当我们想使用Mockito模拟它时,这将是一个挑战.我们需要将其显式声明为open
.有没有一种方法可以避免在模拟测试时将其声明为open
?
This would post a challenge when we want to Mock it using Mockito. We need to explicitly declare it as open
. Is there a way we could avoid declaring it as open
while able to Mock it for our testing?
推荐答案
Mockito2 现在也可以模拟最终类了.
Mockito2 can now mock final classes as well.
但是,此功能是选择加入,因此您需要手动启用它.
为此,您需要定义一个包含行mock-maker-inline
However, this feature is opt-in, so you need to enable it manually.
To do so, you need to define a file /mockito-extensions/org.mockito.plugins.MockMaker
containing the line mock-maker-inline
例如参见
http://hadihariri.com/2016/10/04/Mocking- Kotlin-With-Mockito/或
https://github.com/mockito/mockito /wiki/What%27s-new-in-Mockito-2#unmockable
快速介绍
See e.g.
http://hadihariri.com/2016/10/04/Mocking-Kotlin-With-Mockito/ or
https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2#unmockable
for a quick introduction
在旁注中,当前不适用于android
这篇关于是否可以在不打开课程的情况下将Mockito与Kotlin一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!