我有一个Kotlin Android应用程序。有一个函数可以从后端加载合成并将其返回给回调:
getCompositons(callback: (Array<Composition>) -> Unit)
我该如何使用嘲笑模拟嘲笑回调。这样我就可以执行以下操作:
var callback = //mockito mock
getCompositons(callback)
verify(callback, timeout(10000)).apply()
我读到lambda与java类型的函数匹配,因此我认为apply可能是调用的方法。也许我可以模拟一个函数并使用它?但是Kotlin函数接口似乎只有一种返回类型,没有参数。 java.util.Function表示未解决的引用函数。
任何帮助表示赞赏。
答案 0 :(得分:4)
这与模拟其他任何类型都没有什么不同>
val callback = mock<(Array<Composition>) -> Unit>()
getCompositons(callback)
verify(callback)(any()) // Or verify(callback).invoke(any()) to be explicit
(如果您不知道它们,我在这里使用mockito-kotlin bindings。)
答案 1 :(得分:0)
您可以这样做:
var peopleEnum = ages.Where(a => a > 1)
.Select(a => new Person
{
Name = a.ToString(),
Age = a
}).ToList();
除了标准的模型库之外,不需要其他库