【问题标题】:Why is mocking so slow to start in Kotlin?为什么在 Kotlin 中开始 mocking 这么慢?
【发布时间】:2020-06-05 04:28:38
【问题描述】:

谁能告诉我为什么在 Kotlin 中模拟“启动”如此缓慢?

使用模拟的第一个测试需要几秒钟(模拟 2-3 和 Mockito 1-2)。其余的需要几毫秒。

使用 Mockito 在 Java 中没有这样的开销。

重现方式: 使用 mockk 编写两个测试(可以是同一个测试类中的两个方法)。 使用 mockk 创建模拟的第一个测试需要 2-5 秒,下一个将在毫秒内运行。 用IntelliJ或Gradle编译,效果是一样的。

还有其他人有这个问题吗?

【问题讨论】:

  • 请分享更多信息,比如一些代码,构建脚本。 PS:Mockito 不是 Kotlin 的正确库。使用 Mockk

标签: kotlin mocking mockito mockk


【解决方案1】:

我们遇到了完全相同的问题:mock 启动时间很慢。似乎问题出在 mockk 在后台使用的 ByteBuddy 库:https://github.com/mockk/mockk/issues/262#issuecomment-468334044

刚刚确认该问题在最新的 mockk 1.10.2 中仍然存在。因此不得不使用 mockito 和 mockito-kotlin。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2021-09-03
    • 1970-01-01
    • 2017-05-21
    • 2017-03-28
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多