Skip to content

The mocking library for Kotlin Multiplatform, easy to use, boilerplate-free and compiler plugin driven.

License

Notifications You must be signed in to change notification settings

lupuuss/Mokkery

Repository files navigation



Gradle Plugin Portal Stable Kotlin GitHub Docs

The mocking library for Kotlin Multiplatform, easy to use, boilerplate-free and compiler plugin driven.

class BookServiceTest {

    val repository = mock<BookRepository> {
        everySuspend { findById(any()) } calls { (id: String) -> Book(id) }
    }
    val service = BookService(repository)

    @Test
    fun `rent should call repository for each book`() = runTest {
        service.rentAll(listOf("1", "2"))
        verifySuspend(exhaustiveOrder) {
            repository.findById("1")
            repository.findById("2")
        }
    }
}

As shown in the example above, this library is highly inspired by the MockK. If you have any experience with MockK, it should be easy to start with Mokkery!