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
830
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
550
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.2k
#Ubie 狂気の認知施策と選考設計
ntaro
13
13k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.1k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.4k
Kotlinでサーバサイドを始めよう!
ntaro
1
960
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
2.6k
Kotlin Contracts #m3kt
ntaro
4
4k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
480
Other Decks in Programming
See All in Programming
楽しく向き合う例外対応
okutsu
0
750
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
170
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
2
250
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
120
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
310
Boost Your Web Performance with Hyperdrive
chimame
1
130
はじめてのIssueOps - GitHub Actionsで実現するコメント駆動オペレーション
tmknom
2
360
React 19アップデートのために必要なこと
uhyo
8
1.6k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
230
バイセルでの AI を用いた開発の取り組み ~ Devin, Cursor の活用事例・知見共有 ~
umaidashi
0
110
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
270
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
47
7.5k
Raft: Consensus for Rubyists
vanstee
137
6.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
1.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
Statistics for Hackers
jakevdp
797
220k
Adopting Sorbet at Scale
ufuk
75
9.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Side Projects
sachag
452
42k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
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使えるよ!
ご清聴 ありがとうごじました