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
650
Kotlinでテストコードを書く
Espressoを試してみたお話
bvlion
December 09, 2016
Tweet
Share
More Decks by bvlion
See All by bvlion
Java8のStreamとLambdaの関係
iwaisatoshi
0
130
View周りで後悔しない実装
iwaisatoshi
0
220
それは本当にRailsでないとダメですか?
iwaisatoshi
0
290
Kotlinで始めるAndroid開発
iwaisatoshi
0
150
Other Decks in Programming
See All in Programming
2024 컴포즈 정원사
jisungbin
0
150
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
Prolog入門
qnighy
4
1k
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
420
実践!難読化ガイド
mitchan
0
160
私のEbitengineの第一歩
qt_luigi
0
450
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
670
Kotlin 2.0 and Beyond
antonarhipov
2
150
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
Increased Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
330
Our Websites Need a Lifestyle Change, Not a Diet
ryantownsend
0
140
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
6
1.5k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Bash Introduction
62gerente
608
210k
Music & Morning Musume
bryan
46
6k
Rails Girls Zürich Keynote
gr2m
93
13k
Making Projects Easy
brettharned
113
5.8k
BBQ
matthewcrist
83
9.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
93
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日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…
ありがとうございました!!