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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Taro Nagasawa
June 22, 2016
Programming
1
860
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
1.2k
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.3k
#Ubie 狂気の認知施策と選考設計
ntaro
13
14k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.2k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.6k
Kotlinでサーバサイドを始めよう!
ntaro
1
1k
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
2.9k
Kotlin Contracts #m3kt
ntaro
4
4.3k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
540
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
120
並行開発のためのコードレビュー
miyukiw
0
290
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
組織で育むオブザーバビリティ
ryota_hnk
0
180
Data-Centric Kaggle
isax1015
2
780
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
720
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
Oxlint JS plugins
kazupon
1
980
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
高速開発のためのコード整理術
sutetotanuki
1
400
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
310
Featured
See All Featured
The browser strikes back
jonoalderson
0
390
Producing Creativity
orderedlist
PRO
348
40k
The Curse of the Amulet
leimatthew05
1
8.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
78
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Documentation Writing (for coders)
carmenintech
77
5.3k
So, you think you're a good person
axbom
PRO
2
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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使えるよ!
ご清聴 ありがとうごじました