Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mockito-kotlin
Search
Keisuke Kobayashi
December 15, 2017
Programming
1
500
mockito-kotlin
Android Test Night #2
Keisuke Kobayashi
December 15, 2017
Tweet
Share
More Decks by Keisuke Kobayashi
See All by Keisuke Kobayashi
今日から始める依存性の注入 / First Time Dependency Injection
kobakei
26
7.2k
iOSアプリの技術的負債をどう返済したか / How to repay the technical debt of iOS app
kobakei
2
890
iOSアプリ内で不正なSSL証明書を検知する / SSL Pinning for iOS apps
kobakei
34
11k
Kyashアプリ開発の現場
kobakei
4
2.6k
Review of Google I/O 2017 & Prepare for Google I/O 2018
kobakei
0
300
APIクライアントをCodableで置き換えた話
kobakei
0
1.4k
開発者が知っておきたい通知の歴史
kobakei
9
7.3k
2017年に新規アプリを立ち上げた話
kobakei
2
1k
Everything of CI/CD in Kyash Android
kobakei
0
1.5k
Other Decks in Programming
See All in Programming
令和トラベルにおけるLLM活用事例:社内ツール開発から得た学びと実践
ippo012
0
210
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
790
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
How to Break into Reading Open Source
kaspth
2
210
今インフラ技術をイチから学び直すなら
yuhta28
1
140
Developer Joy == Developer Productivity (really!)
hollycummins
1
220
REXML改善のその後
naitoh
0
190
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
550
2024 컴포즈 정원사
jisungbin
0
150
Why Prism?
kddnewton
4
1.7k
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
230
オートマトン学習しろ / Do automata learning
makenowjust
3
130
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
48
4.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
The World Runs on Bad Software
bkeepers
PRO
64
11k
Building an army of robots
kneath
302
42k
Agile that works and the tools we love
rasmusluckow
327
20k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
The Invisible Customer
myddelton
119
13k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Designing with Data
zakiwarfel
98
5k
Producing Creativity
orderedlist
PRO
340
39k
Transcript
mockito-kotlin Keisuke Kobayashi Android Test Night #2
About Me • Keisuke Kobayashi • GitHub, QIita: kobakei •
Twitter: kobakei122 • Kyash, Inc • ݸਓࣄۀओ
mockito-kotlin͍͍ͧ
mockito-kotlin • KotlinͰMockitoΛ͏ͨΊͷϥΠϒϥϦ • https://github.com/nhaarman/mockito-kotlin • ˒800 over
Ͳ͕͍͍͔͜ • ϞοΫ͕ݟ͘͢ͳΔ • Null҆શରԠ • άϩʔόϧؔͷՃ • whenରԠ
Mockito in Java // Java import static org.mockito.Mockito.*; Hoge mock
= mock(Hoge.class); when(mock.sayHello()).thenReturn("Hello"); when(mock.sayBye()).thenReturn("Bye");
Convert to Kotlin // Kotlin import org.mockito.Mockito.* val mock =
mock(Hoge::class.java) `when`(mock.sayHello()).thenReturn("Hello") `when`(mock.sayBye()).thenReturn("Bye")
mockito-kotlin // Kotlin import com.nhaarman.mockito_kotlin.* val mock = mock<Hoge> {
on { sayHello() } doReturn "Hello" on { sayBye() } doReturn "Bye" }
ݟ͍͢
Null҆શରԠ • Null҆શͷ͍ͤͰɺMockitoͷanyͰNPE • NonNullͳҾʹanyΛ͢ͱൃੜ • anyͱanyOrNull
άϩʔόϧؔ • any, anyOrNull • atLeast, only, never • verify
• whenever
when • Mockitoͷwhenϝιου • Kotlinͷwhen༧ޠ • `when`ͱॻ͔͘͠ແ͍ • mockito-kotlinͰΘΓʹwheneveron͕ ͑Δ
mockito-kotlin͍͍ͧ
Thanks!