我想知道如何运行作为参数传递给模拟函数的 lambda 函数。并在调用模拟方法时运行它。
我正在使用 Mockk,我想象代码是这样的:
class DataManager {
fun submit(lambda: (Int) => Unit) { ... }
}
...
val mock = mockk<DataManager>()
every { mock.submit(lambda = any()) }.run { lambda(5) }
Run Code Online (Sandbox Code Playgroud)
在我的实际实现中,数据管理器调用服务器并在收到成功响应时运行 lambda 作为回调。lambda 恰好是被测类的私有方法。