Closed2

Mockitoでlambda引数をStubしたい

nologyancenologyance

wheneverでStubを定義すると、オブジェクト比較されてしまってStubの定義が一致しないと怒られる。

代わりにAnswerで定義してやればよい。

val consumeMock: Consume<String> = mock(Consume::class.java) as Consume<String>
// Define behavior for consume method that takes a String parameter
doAnswer { invocation ->
    val data = invocation.arguments[0] as String
    // Perform desired actions with the data
    println("Consume data: $data")
}.`when`(consumeMock).consume(anyString())

consumeMock.consume("Sample data")

verify(consumeMock).consume("Sample data")
このスクラップは2023/08/30にクローズされました