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

查看:15
本文介绍了是否可以在不打开课程的情况下将 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 现在也可以模拟 final 类了.

Mockito2 can now mock final classes as well.

但是,此功能是选择加入,因此您需要手动启用它.
为此,您需要定义一个文件 /mockito-extensions/org.mockito.plugins.MockMaker 包含行 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天全站免登陆