【发布时间】:2020-07-21 08:14:33
【问题描述】:
我想知道有什么方法可以运行作为参数传递给模拟函数的 lambda 函数。并在调用模拟方法时运行它。
我正在使用 Mockk,我想代码是这样的:
class DataManager {
fun submit(lambda: (Int) => Unit) { ... }
}
...
val mock = mockk<DataManager>()
every { mock.submit(lambda = any()) }.run { lambda(5) }
在我的实际实现中,datamanager 调用服务器并在收到成功响应时将 lambda 作为回调运行。 lambda 恰好是被测类的私有方法。
【问题讨论】:
标签: android unit-testing kotlin functional-programming mockk