Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlinでテストコードを書く

Acb890a6861c2f2bc5a8968e3ff20094?s=47 bvlion
December 09, 2016

 Kotlinでテストコードを書く

Espressoを試してみたお話

Acb890a6861c2f2bc5a8968e3ff20094?s=128

bvlion

December 09, 2016
Tweet

Transcript

  1. Kotlinでテストコードを書く @Retty Tech Cafe #8 岩井 大志

  2. 自己紹介 名前 ・岩井 大志(Iwai Satoshi)   SE@株式会社インタースペース    高卒エンジニア(´・ω・`) 個人の活動 ・Twitter   @ninjinx

    ・メモサイト   https://bvlion-apps.appspot.com/ ※ ブログ移転中です…
  3. 今日のお題 ⇨ Kotlinでテスト

  4. Kotlinでテスト??

  5. こちらを思い浮かべた方…

  6. ご安心下さい<(_ _)>

  7. Androidでテストと言えば… ・Local Unit Test ・Instrumented Unit Test と、あるかと思います。

  8. Androidでテストと言えば… ・Local Unit Test ・Instrumented Unit Test と、あるかと思います。↑ 今日はこっちのお話をさせていただきます<(_ _)>

  9. 話は少し前に遡りますが… 以前、Kotlinの勉強会にて 「AndroidへのKotlinの導入は、テストコードからがいいんじゃないか?」 というお話がありました。 Unitテストに関しては松田さんがLTして下さっていたので、 androidTest側についてお話させて頂ければと思った次第です<(_ _)>

  10. 自作の物凄く下らないアプリを使います。 https://bitbucket.org/bvlion/instrumentedunittest4kotlin 入力エリアに文字を入れて、固定文字列と 合っているかを確認するという、情けないアプリです。。。 30分ちょっとで作ったいい加減なアプリなので コードに関してはサンプルだと思って多目に見て下さい(>_<)

  11. まずは準備(・∀・) 早速、gradleの設定をしましょう!

  12. まずは準備(・∀・) sourceSetsでkotlinディレクトリを設定                             ここは共通!

  13. まずは準備(・∀・) 今回はEspressoを使いたいと思います♪ dependenciesのandroidTestCompileにEspressoを設定します。

  14. Espressoとは? 2013 年 10 月に Google が公開した Android 用の UI

    テストフレームワークです。 基本的な操作(入力とか、クリックとか、スワイ プとか)を簡単に記述できて、かつ実機(エミュ レータ)で実際のテストを自動で行うことができ るツールです。 WEB で言うところのセレニウム的な感覚で捉 えております! Espresso
  15. 次はテストコードを書きます。 AndroidでのJavaの初期テストコードをそのままKotlinに移行

  16. いざ!実行( `・ω・´)

  17. None
  18. おぉう… (´・ω・`)

  19. @Ruleがpublicじゃないって 怒ってる??

  20. こうすればどうだ! 無闇にpublicを付けてみる…

  21. None
  22. 同じ… (´・ω・`)

  23. ググってみた stack overflowで発見! (最近はQiitaにも載ってました。)

  24. つまり、こういうことですね? @JvmFieldを設定しました。

  25. 今度こそ!!

  26. 通った(´∀`艸) 夜中に何やってんだよ…というお話はまた今度(^ω^;)

  27. あとは実行コードを書いていくだけ Espressoはstaticメソッド祭りなので、あんまKotlin感はない…

  28. 実行すると、こんな感じに動きます! 動画にすれば分かりやすかったですかね…

  29. まとめ ・UIテストもKotlinで問題なく書ける ・EspressoだとあんまKotlinの恩恵は受けられない… ・実はSpoonを実行しようとして躓いたのは秘密…

  30. 余談… Qiitaのアドベントカレンダーにて、Androidネタを投稿予定です。 「Espressoを導入してみて」的な内容の予定です。 14日に投稿予定ですので、興味がございましたらご覧下さい。 と言って、自身にプレッシャーをかけておく…

  31. ありがとうございました!!