我可以在Kotlin中使用MockK模拟一个通用(模板)私有方法吗?

时间:2018-04-24 11:09:52

标签: unit-testing kotlin mocking mockk

我想嘲笑以下功能:

private fun <T> updateItemInDb(id: Long, column: String, data: T)

我的班级以下列方式调用:

updateItemInDb(it, DB_POS, i),其中itLongDB_POSStringiInt

我希望函数在不做任何事情的情况下运行。我在单元测试中尝试了以下内容:

1)every { adapter["updateItemInDb"](any<Long>(), any<String>(), any<Int>()) } just Runs

这给我一个类型不匹配错误:required MockKStubScope<Unit>, found MockKStubScope<Any?>

2)every { adapter["updateItemInDb"](any<Long>(), any<String>(), any<Int>()) } answers { }

这在运行时因io.mockk.MockKException: can't find function updateItemInDb(-1078155520644112829, -d008fa83c4f49c0, 843241211) for dynamic call

而失败

0 个答案:

没有答案