小编Dav*_*kup的帖子

如何运行传递给模拟方法的 lambda 函数?

我想知道如何运行作为参数传递给模拟函数的 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 恰好是被测类的私有方法。

android unit-testing functional-programming kotlin mockk

9
推荐指数
2
解决办法
4831
查看次数