This repository has been archived by the owner. It is now read-only.
Mockito for Kotlin.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle
src
.gitignore
LICENSE
README.md
README.md.template
build.gradle
circle.yml
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

DEPRECATED

use https://github.com/nhaarman/mockito-kotlin

kmockito

Circle CI Release

Mockito for Kotlin.

when is a reserved word of Kotlin. You should write like below on test.

val item = mock(Item::class.java)
`when`(item.length()).thenReturn(10)

hmm... OK. I'll add extensions for Kotlin.

mock

before

var item = mock(Item::class.java)
`when`(item.length()).thenReturn(10)

assertThat(item.length(), `is`(10))
verify(item).length()

after

var item: Item = mock()
item.length().invoked.thenReturn(10)

assertThat(item.length(), `is`(10))
item.verify().length()

I recommend that you also use knit. It is JUnit API for Kotlin.

spy

before

var item = spy(Item(10))
doReturn(11).`when`(item).length()

assertThat(item.length(), `is`(11))
verify(item, times(1)).length()

after

var item = Item(10).spy()
item.doReturn(11).length()

assertThat(item.length(), `is`(11))
item.verify(times(1)).length()

Answer

before

model.someMethod(anyInt(), anyString(), any(), any())
    .invoked
    .thenAnswer {
      val a = it.arguments[0] as Int
      val b = it.arguments[1] as String
      val c = it.arguments[2] as Item
      val d = it.arguments[3] as Name

      // do something
    }

after

model.someMethod(anyInt(), anyString(), any(), any())
    .invoked
    .thenAnswer {
      val (a, b, c, d) = it.arguments4<Int, String, Item, Name>()

      // do something
    }

Installation

This library is distributed by JitPack. Add dependencies your build.gradle

Add it in your root build.gradle at the end of repositories:

allprojects {
  repositories {
    ...
    maven { url "https://jitpack.io" }
  }
}

Add the dependency

testCompile 'com.github.sys1yagi:kmockito:0.1.2'

Development

Show version

$ ./gradlew version

Bump version

$ ./gradlew bumpMajor
$ ./gradlew bumpMinor
$ ./gradlew bumpPatch

Generate README

$ ./gradlew genReadMe