Getting started

  1. Apply the Gradle plugin and activate the helper dependency:

    plugins {
        id("org.kodein.mock.mockmp") version "1.17.0"
    kotlin {
        // Your Koltin/Multiplatform configuration
    mockmp {
        usesHelper = true
  2. Create a test class that declares injected mocks and fakes:

    class MyTest : TestsWithMocks() {
        override fun setUpMocks() = injectMocks(mocker) (1)
        @Mock lateinit var view: View
        @Fake lateinit var model: Model
        val controller by withMocks { Controller(view = view, firstModel = model) }
        @Test fun controllerTest() {
            every { view.render(isAny()) } returns true
            verify { view.render(model) }
    1 This is mandatory and cannot be generated. You need to run the KSP generation at least once for your IDE to see the injectMocks generated function.
    Every property annotated by @Mock, annotated by @Fake or delegated to withMocks will be reset fresh between each test.