Skip to content

Instantly share code, notes, and snippets.

@Kevn-Block
Last active June 28, 2025 16:57
Show Gist options
  • Save Kevn-Block/880e1eb8d532399af98fff8d6f6e3b69 to your computer and use it in GitHub Desktop.
Save Kevn-Block/880e1eb8d532399af98fff8d6f6e3b69 to your computer and use it in GitHub Desktop.
interface Logger {
fun log(msg: String): String
}
@Benchmark
fun mockWithDIAndCall() {
val mockLogger = mockk<Logger>(relaxed = isRelaxed) {
every { log(any()) } returns "Hello, Mockk!"
}
val consumer = EventLoggerWithDI(logger = mockLogger)
val event = consumer.logEvent("Test Event") // Uses mockLogger
Assert.assertEquals("Hello, Mockk!", event)
}
@Benchmark
fun mockObjectAndCall() {
mockkObject(SingletonLogger)
every { SingletonLogger.log(any()) } returns "Hello, Mockk!"
val consumer = EventLogger()
val event = consumer.logEvent("Test Event") // Uses SingletonLogger
Assert.assertEquals("Hello, Mockk!", event)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment