【发布时间】:2021-12-14 14:50:41
【问题描述】:
我有两个类TestTarget、MockTarget 和下面的测试代码。如果TestTarget 有两个具有相同名称和相同参数计数的函数,则any() 是不明确的。我需要将类型分配给any(ClassType)。但是() -> Unit 的类型是什么?我试过Function0,但它不起作用。有人可以帮忙吗?
类测试目标:
Class TestTarget(private val mockTarget: MockTarget) {
fun testFunction() {
// some logic to be tested.
// call mockTarget.doSomething.
}
}
类模拟目标
Class MockTarget {
fun doSomething(callback: () -> Unit) {
// some logic here.
}
fun doSomething(listener: OtherType) {
// Test code works without this function.
}
}
测试代码:
// setup mocks.
@Test
fun `verify testFunction`() {
`when`(mockTarget.doSomething(any())).thenAnswer { invocation ->
// callback here.
}
}
【问题讨论】: