A small library that provides helper functions to work with Mockito in Kotlin.
Mockito-Kotlin is available on Maven Central and JCenter. For Gradle users, add the following to your build.gradle
, replacing x.x.x
with the latest version:
testImplementation "org.mockito.kotlin:mockito-kotlin:x.x.x"
A test using Mockito-Kotlin typically looks like the following:
@Test fun doAction_doesSomething(){ /* Given */ val mock = mock<MyClass> { on { getText() } doReturn "text" } val classUnderTest = ClassUnderTest(mock) /* When */ classUnderTest.doAction() /* Then */ verify(mock).doSomething(any()) }
For more info and samples, see the Wiki.
Mockito-Kotlin is built with Gradle.
./gradlew build
builds the project./gradlew publishToMavenLocal
installs the maven artifacts in your local repository./gradlew assemble && ./gradlew test
runs the test suite (See Testing below)Mockito-Kotlin roughly follows SEMVER; version names are parsed from git tags using git describe
.
Mockito-Kotlin's test suite is located in a separate tests
module, to allow running the tests using several Kotlin versions whilst still keeping the base module at a recent version.
Testing thus must be done in two stages: one to build the base artifact to test against, and the actual execution of the tests against the built artifact:
./gradlew assemble
builds the base artifact./gradlew test
runs the tests against the built artifact.Usually it is enough to test only using the default Kotlin versions; CI will test against multiple versions. If you want to test using a different Kotlin version locally, set an environment variable KOTLIN_VERSION
and run the tests.
mockito-kotlin
was created and developed by nhaarman@ after which the repository was integrated into the official Mockito GitHub organization. We would like to thank Niek for the original idea and extensive work plus support that went into mockito-kotlin
.