1

与えられた

typealias MyCallback = (s: String) -> Unit

object Hello {
    fun main() {
        blah { print(it) }
    }
    fun blah(cb: MyCallback) {
        cb.invoke("hi")
    }
}

または

interface MyCallback {
    fun invoke (s: String) {}
}

object Hello {
    fun main() {
        blah(object : MyCallback {
            override fun invoke(s: String) {
                print(s)
            }
        })
    }
    fun blah(cb: MyCallback) {
        cb.invoke("hi")
    }
}

両方を実行すると、上記のエラー ( Verification failed: call 1 of 1: MyCallback(#2).invoke(any())) was not called) が表示されます

    @Test
    fun testInvoke() {
        val mock = mockk<Hello>(relaxed = true)
        val cb = mockk<MyCallback>()
        mock.blah(cb)
        verify { cb.invoke(any()) }
    }

それを修正する方法は?

4

1 に答える 1