Skip to content

Instantly share code, notes, and snippets.

@maciejwalkowiak
Created June 15, 2017 12:26
Show Gist options
  • Save maciejwalkowiak/98e844e884e77609404f07b7ed479fd4 to your computer and use it in GitHub Desktop.
Save maciejwalkowiak/98e844e884e77609404f07b7ed479fd4 to your computer and use it in GitHub Desktop.
mockito-kotlin
interface Analytics<in T> {
fun send(event : T)
}
data class Event(val foo: String)
import com.nhaarman.mockito_kotlin.KArgumentCaptor
import com.nhaarman.mockito_kotlin.argumentCaptor
import org.assertj.core.api.Assertions.assertThat
import org.junit.Before
import org.junit.Test
import org.mockito.Mock
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
class SomeTest {
@Mock
private lateinit var analytics : Analytics<Event>
private val captor : KArgumentCaptor<Event> = argumentCaptor()
@Before
fun setup() {
MockitoAnnotations.initMocks(this)
}
@Test
fun foo() {
val event = Event("foo")
analytics.send(event)
verify(analytics).send(captor.capture())
assertThat(captor.firstValue).isEqualTo(event)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment