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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
bvlion
December 09, 2016
Programming
800
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlinでテストコードを書く
Espressoを試してみたお話
bvlion
December 09, 2016
More Decks by bvlion
See All by bvlion
Java8のStreamとLambdaの関係
iwaisatoshi
0
150
View周りで後悔しない実装
iwaisatoshi
0
290
それは本当にRailsでないとダメですか?
iwaisatoshi
0
350
Other Decks in Programming
See All in Programming
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
源内ハンズオン概要編
hideg
0
240
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
190
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
180
信頼性の目標を誰も求めてない
shubox
0
470
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
150
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
360
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
760
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
210
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
KATA
mclloyd
PRO
35
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Product Roadmaps are Hard
iamctodd
55
13k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Exploring anti-patterns in Rails
aemeredith
3
490
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
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日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…
ありがとうございました!!