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でテストコードを書く
Search
bvlion
December 09, 2016
Programming
780
1
Share
Kotlinでテストコードを書く
Espressoを試してみたお話
bvlion
December 09, 2016
More Decks by bvlion
See All by bvlion
Java8のStreamとLambdaの関係
iwaisatoshi
0
140
View周りで後悔しない実装
iwaisatoshi
0
280
それは本当にRailsでないとダメですか?
iwaisatoshi
0
340
Other Decks in Programming
See All in Programming
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
150
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
340
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
500
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
470
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
150
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
実践CRDT
tamadeveloper
0
570
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
610
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.4k
Programming with a DJ Controller — not vibe coding
m_seki
3
110
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
Building Applications with DynamoDB
mza
96
7k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
Music & Morning Musume
bryan
47
7.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
510
Claude Code のすすめ
schroneko
67
220k
The Spectacular Lies of Maps
axbom
PRO
1
710
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
A Modern Web Designer's Workflow
chriscoyier
698
190k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
100
Transcript
Kotlinでテストコードを書く @Retty Tech Cafe #8 岩井 大志
自己紹介 名前 ・岩井 大志(Iwai Satoshi) SE@株式会社インタースペース 高卒エンジニア(´・ω・`) 個人の活動 ・Twitter @ninjinx
・メモサイト https://bvlion-apps.appspot.com/ ※ ブログ移転中です…
今日のお題 ⇨ Kotlinでテスト
Kotlinでテスト??
こちらを思い浮かべた方…
ご安心下さい<(_ _)>
Androidでテストと言えば… ・Local Unit Test ・Instrumented Unit Test と、あるかと思います。
Androidでテストと言えば… ・Local Unit Test ・Instrumented Unit Test と、あるかと思います。↑ 今日はこっちのお話をさせていただきます<(_ _)>
話は少し前に遡りますが… 以前、Kotlinの勉強会にて 「AndroidへのKotlinの導入は、テストコードからがいいんじゃないか?」 というお話がありました。 Unitテストに関しては松田さんがLTして下さっていたので、 androidTest側についてお話させて頂ければと思った次第です<(_ _)>
自作の物凄く下らないアプリを使います。 https://bitbucket.org/bvlion/instrumentedunittest4kotlin 入力エリアに文字を入れて、固定文字列と 合っているかを確認するという、情けないアプリです。。。 30分ちょっとで作ったいい加減なアプリなので コードに関してはサンプルだと思って多目に見て下さい(>_<)
まずは準備(・∀・) 早速、gradleの設定をしましょう!
まずは準備(・∀・) sourceSetsでkotlinディレクトリを設定 ここは共通!
まずは準備(・∀・) 今回はEspressoを使いたいと思います♪ dependenciesのandroidTestCompileにEspressoを設定します。
Espressoとは? 2013 年 10 月に Google が公開した Android 用の UI
テストフレームワークです。 基本的な操作(入力とか、クリックとか、スワイ プとか)を簡単に記述できて、かつ実機(エミュ レータ)で実際のテストを自動で行うことができ るツールです。 WEB で言うところのセレニウム的な感覚で捉 えております! Espresso
次はテストコードを書きます。 AndroidでのJavaの初期テストコードをそのままKotlinに移行
いざ!実行( `・ω・´)
None
おぉう… (´・ω・`)
@Ruleがpublicじゃないって 怒ってる??
こうすればどうだ! 無闇にpublicを付けてみる…
None
同じ… (´・ω・`)
ググってみた stack overflowで発見! (最近はQiitaにも載ってました。)
つまり、こういうことですね? @JvmFieldを設定しました。
今度こそ!!
通った(´∀`艸) 夜中に何やってんだよ…というお話はまた今度(^ω^;)
あとは実行コードを書いていくだけ Espressoはstaticメソッド祭りなので、あんまKotlin感はない…
実行すると、こんな感じに動きます! 動画にすれば分かりやすかったですかね…
まとめ ・UIテストもKotlinで問題なく書ける ・EspressoだとあんまKotlinの恩恵は受けられない… ・実はSpoonを実行しようとして躓いたのは秘密…
余談… Qiitaのアドベントカレンダーにて、Androidネタを投稿予定です。 「Espressoを導入してみて」的な内容の予定です。 14日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…
ありがとうございました!!