如何使用 MockK 模拟 kotlin 对象 class 的方法

How to mock a method of kotlin object class using MockK

我有一个 kotlin 对象 class 如下所示

object DummyClass {

    fun method1() {}
}

并且我想使用 MockK

模拟函数 method1()

因为这是一个对象 class 模拟正常函数的方法,我已经尝试如下所示

也尝试了一些其他方法,但没有奏效

@Test
fun method1Test() {
    val mock = mockk<DummyClass>()
    every { mock.method1() } just runs
    DummyClass.method1()
}

我在 Whosebug 上看到了一些问题,但仍然没有找到解决我的问题的方法。

要在对象 class 上应用模拟,我们可以简单地使用 mockkObject(ObjectClassName) 并且 class 的模拟方法与其他方法完全相同 every { ObjectClassName.methodName() } just runs

通过 WhosebugGoogle

寻找解决方案后

我在 official documentation of MockK

上找到了问题的解决方案

我在这里添加了我的发现的屏幕截图,保留这个问题希望它可以帮助某人