thanksforallthefish
@Test // <- junit5 annotation fun publisher() { val publisher = mockk<Publisher>(relaxed = true) UseCase(publisher).doSomething() verify { publisher.publish(any<UseCase.Something>()) } verify { publisher.publish(any<String>()) } } interface Publisher { fun publish(any: Any) fun publish(event: Event) { publish(event as Any) } class Event(source: Any) } class UseCase(val publisher: Publisher) { fun doSomething() { publisher.publish(Something("")) } data class Something(val something: String) }
jlw
any
inline fun <reified T : Any> any(): T = match(ConstantMatcher(true))
UseCase.Something
String
Any
A modern programming language that makes developers happier.