Slide 1

Slide 1 text

mockito-kotlin Keisuke Kobayashi Android Test Night #2

Slide 2

Slide 2 text

About Me • Keisuke Kobayashi • GitHub, QIita: kobakei • Twitter: kobakei122 • Kyash, Inc • ݸਓࣄۀओ

Slide 3

Slide 3 text

mockito-kotlin͸͍͍ͧ

Slide 4

Slide 4 text

mockito-kotlin • KotlinͰMockitoΛ࢖͏ͨΊͷϥΠϒϥϦ • https://github.com/nhaarman/mockito-kotlin • ˒800 over

Slide 5

Slide 5 text

Ͳ͕͍͍͔͜ • ϞοΫ͕ݟ΍͘͢ͳΔ • Null҆શରԠ • άϩʔόϧؔ਺ͷ௥Ճ • when໰୊ରԠ

Slide 6

Slide 6 text

Mockito in Java // Java import static org.mockito.Mockito.*; Hoge mock = mock(Hoge.class); when(mock.sayHello()).thenReturn("Hello"); when(mock.sayBye()).thenReturn("Bye");

Slide 7

Slide 7 text

Convert to Kotlin // Kotlin import org.mockito.Mockito.* val mock = mock(Hoge::class.java) `when`(mock.sayHello()).thenReturn("Hello") `when`(mock.sayBye()).thenReturn("Bye")

Slide 8

Slide 8 text

mockito-kotlin // Kotlin import com.nhaarman.mockito_kotlin.* val mock = mock { on { sayHello() } doReturn "Hello" on { sayBye() } doReturn "Bye" }

Slide 9

Slide 9 text

ݟ΍͍͢

Slide 10

Slide 10 text

Null҆શରԠ • Null҆શͷ͍ͤͰɺMockitoͷanyͰNPE • NonNullͳҾ਺ʹanyΛ౉͢ͱൃੜ • anyͱanyOrNull

Slide 11

Slide 11 text

άϩʔόϧؔ਺ • any, anyOrNull • atLeast, only, never • verify • whenever

Slide 12

Slide 12 text

when໰୊ • Mockitoͷwhenϝιου • Kotlinͷwhen͸༧໿ޠ • `when`ͱॻ͔͘͠ແ͍ • mockito-kotlinͰ͸୅ΘΓʹwhenever΍on͕ ࢖͑Δ

Slide 13

Slide 13 text

mockito-kotlin͸͍͍ͧ

Slide 14

Slide 14 text

Thanks!