CapturingSlot 사영해서 인수를 캡처할 수 있습니다.
val car = mockk<Car>()
var slot = slot<Double>()
var list =mutableListOf<Double>()
every {
car.recordTelemetry(
speed = capture(slot),
direction = Direction.NORTH
)
} answers {
println (slot.captured)
OutCome.RECORDED
}
car.recordTelemetry(speed = 15, direction = Direction.NORTH)
car.recoreTelemetry(spped = 16, direction = Direction.SOUTH)
mockk<MockClas> {
every { sum(1, 2) } returns 4
Thread {
Thread.sleep(2000)
sum(1, 2)
}.start()
verify(timeout= 3000) { sum(1, 2) }
}
class MockedClass {
fun sum(a: Int, b: Int): Unit {
println(a + b)
}
}
val obj = mockk<MockedClass>()
justRun { obj.sum(any(), 3) }
data class Obj(val value: Int)
class Ext {
fun Obj.extensionFunc() = value + 5
}
with(mockk<Ext>()) {
every {
Obj(5).extensionFunc()
} returns 11
assertEquals(11, Obj(5).extensionFunc())
verify {
Obj(5).extensionFunc()
}
}