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
Kotlinでもテスト書きたい #Android_Testing_BC
Search
Taro Nagasawa
June 22, 2016
Programming
1
810
Kotlinでもテスト書きたい #Android_Testing_BC
Android Testing Bootcamp #2 (
http://android-testing-bootcamp.connpass.com/event/31636/)で発表したスライドです
。
Taro Nagasawa
June 22, 2016
Tweet
Share
More Decks by Taro Nagasawa
See All by Taro Nagasawa
Android開発者のための Kotlin Multiplatform入門
ntaro
0
370
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.1k
#Ubie 狂気の認知施策と選考設計
ntaro
13
12k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.1k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.3k
Kotlinでサーバサイドを始めよう!
ntaro
1
920
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
2.6k
Kotlin Contracts #m3kt
ntaro
4
3.8k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
430
Other Decks in Programming
See All in Programming
RubyLSPのマルチバイト文字対応
notfounds
0
120
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
210
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
130
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
2
140
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
デザインパターンで理解するLLMエージェントの作り方 / How to develop an LLM agent using agentic design patterns
rkaga
3
140
Arm移行タイムアタック
qnighy
0
340
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
The World Runs on Bad Software
bkeepers
PRO
65
11k
GitHub's CSS Performance
jonrohan
1030
460k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Code Review Best Practice
trishagee
64
17k
Designing for Performance
lara
604
68k
Unsuck your backbone
ammeep
668
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Transcript
Kotlinでもテスト書きたい 2016-06-09 Android Testing Bootcamp #2 @ngsw_taro
Kotlin • JetBrains開発のJVM言語 • 2011年7月に登場、2016年2月に正式リリース • Android開発にも使えて最近注目を集めている
まとめ • knit: JUnitをKotlinらしく使えるよ! • kmockito: MockitoをKotlinらしく使えるよ! • kaptAndroidTest: テストでkapt使えるよ!
自己紹介 • たろー @ngsw_taro • プログラマー@エムスリー株式会社 ◦ Android, Kotlin, Java,
Scala, Rubyなど • Kotlinエバンジェリスト(JetBrains黙認) ◦ 日本Kotlinユーザグループ代表 ◦ Kotlinスタートブック 夏に発売! • やすべえとディズニーが好き
1. knitを使う
KotlinでJUnitする // JUnit assertThat(actual, `is`(expected))
KotlinでJUnitする // JUnit assertThat(actual, `is`(expected)) ダサい
knit(ニット)を作った • JUnitの薄いラッパー • 今すぐダウンロード github.com/ntaro/knit
knitを使うと // knit actual.should be expected
やってることは単純 actual.should be expected assertThat(actual, `is`(expected))
2. kmockitoを使う
KotlinでMockitoする // Mokcito val repository = mock(Repository::class.java) `when`(repository.findAll()) .thenReturn(users)
KotlinでMockitoする // Mokcito val repository = mock(Repository::class.java) `when`(repository.findAll()) .thenReturn(users) ダサい
ダサい
kmockito by @sys1yagi • Mockitoラッパー • 今すぐダウンロード github.com/sys1yagi/kmockito
kmockitoを使うと // Mokcito val repository = mock<Repository>() repository.findAll().invoked .thenReturn(users)
3. kaptAndroidTestを使う
kapt // product kapt 'com.google.dagger:dagger-compiler:2.4' // test kaptAndroidTest 'com.google.dagger:dagger-compiler:2.4' •
KotlinでAnnotation Processingするためのツール • Dagger2とか
おまけ
予約語エスケープ、テストで便利だった class `be - expected` { @Test fun `does nothing
when target equals expected`() { sut be java.lang.String("Kotlin").toString() } @Test(expected = AssertionError::class) fun `throws error when target does not equal expected`() { sut be "kotlin" } }
まとめ • knit: JUnitをKotlinらしく使えるよ! • kmockito: MockitoをKotlinらしく使えるよ! • kaptAndroidTest: テストでkapt使えるよ!
ご清聴 ありがとうごじました