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
760
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
270
それは本当にRailsでないとダメですか?
iwaisatoshi
0
320
Other Decks in Programming
See All in Programming
アセットのコンパイルについて
ojun9
0
120
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
280
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.7k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
250
為你自己學 Python - 冷知識篇
eddie
1
350
Design Foundational Data Engineering Observability
sucitw
3
190
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
270
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
print("Hello, World")
eddie
2
530
🔨 小さなビルドシステムを作る
momeemt
4
680
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Producing Creativity
orderedlist
PRO
347
40k
Balancing Empowerment & Direction
lara
3
620
What's in a price? How to price your products and services
michaelherold
246
12k
The Cult of Friendly URLs
andyhume
79
6.6k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Facilitating Awesome Meetings
lara
55
6.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to train your dragon (web standard)
notwaldorf
96
6.2k
BBQ
matthewcrist
89
9.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日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…
ありがとうございました!!