是否可以在不打开课程的情况下将Mockito与Kotlin一起使用? [英] Is it possible to use Mockito with Kotlin without open the class?

查看:67
本文介绍了是否可以在不打开课程的情况下将Mockito与Kotlin一起使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可能知道,默认情况下,一旦定义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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆