lupuuss / Mokkery

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

Home Page:https://mokkery.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Gradle Plugin Portal Beta 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!

About

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

https://mokkery.dev

License:Apache License 2.0


Languages

Language:Kotlin 100.0%