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
1
750
Kotlinでテストコードを書く
Espressoを試してみたお話
bvlion
December 09, 2016
Tweet
Share
More Decks by bvlion
See All by bvlion
Java8のStreamとLambdaの関係
iwaisatoshi
0
140
View周りで後悔しない実装
iwaisatoshi
0
260
それは本当にRailsでないとダメですか?
iwaisatoshi
0
320
Other Decks in Programming
See All in Programming
RailsGirls IZUMO スポンサーLT
16bitidol
0
180
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
NPOでのDevinの活用
codeforeveryone
0
810
GraphRAGの仕組みまるわかり
tosuri13
8
530
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
6
2.5k
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.2k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
550
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
760
CursorはMCPを使った方が良いぞ
taigakono
1
250
Deep Dive into ~/.claude/projects
hiragram
14
2.5k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
440
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Balancing Empowerment & Direction
lara
1
420
Optimizing for Happiness
mojombo
379
70k
Bash Introduction
62gerente
614
210k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Adopting Sorbet at Scale
ufuk
77
9.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Automating Front-end Workflow
addyosmani
1370
200k
Facilitating Awesome Meetings
lara
54
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
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日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…
ありがとうございました!!