如何使用 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
通过 Whosebug 和 Google
寻找解决方案后
我在 official documentation of 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
通过 Whosebug 和 Google
寻找解决方案后我在 official documentation of MockK
上找到了问题的解决方案我在这里添加了我的发现的屏幕截图,保留这个问题希望它可以帮助某人