1

我正在使用 mockito-kotlin 在 Android 上开发单元测试。

我试图监视一个函数,所以我做了以下代码来做到这一点,它工作正常。

在这种情况下,AndroidStudio 指出强制转换是不必要的,但是当强制转换被移除时,类型会更改为 Foo 而不是 Foo -> Unit:

private val onClick /*:(Foo) -> Unit*/ = spy({ foo: Foo -> } as (Foo) -> Unit)

private val onClick /*:(Foo) -> Unit*/ = { foo: Foo -> }

private val onClick /*:Foo*/ = spy({ foo: Foo -> })

编译器如何得出类型为 Foo 的结论,以及我应该如何编写代码以避免不必要的强制转换警告?

4

0 回答 0