【发布时间】:2018-04-24 11:09:52
【问题描述】:
我想模拟以下函数:
private fun <T> updateItemInDb(id: Long, column: String, data: T)
我的班级以以下方式调用它:
updateItemInDb(it, DB_POS, i),其中it 是Long,DB_POS 是String,i 是Int。
我希望该函数无需执行任何操作即可运行。我在单元测试中尝试了以下内容:
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
【问题讨论】:
标签: unit-testing kotlin mocking mockk