2

我想模拟以下功能:

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

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

updateItemInDb(it, DB_POS, i), 哪里itLong,DB_POSString并且iInt.

我希望该功能无需执行任何操作即可运行。我在单元测试中尝试了以下内容:

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

4

1 回答 1

1

现在是的。通用私有函数自 1.7.16 起已修复

于 2018-05-10T15:45:13.647 回答