sumioの技術メモ

Androidについての記事が多くなると思います。

DroidKaigi 2018で登壇しました #DroidKaigi

DroidKaigi 2018で、「Espressoテストコードの同期処理を究める」という内容で発表しました。

DroidKaigiでの登壇3回目となる今回は、EspressoのUI操作との同期処理にフォーカスしてみました。

Espressoは、UIの更新が終わるのを自動的に待ってから操作をしてくれるのが売りのひとつだったのですが、 RxJavaなどを使った最近のアプリでは、UIの更新前に次の操作が実行されてしまい、テストに失敗してしまうことが多くなってしまいました。

そのことに気付いたのは昨年のDroidKaigiの頃だったのですが、その後の調査で、 RxJavaを使ったアプリでEspressoのテストを安定化させる方法を確立することができました。

その知見は、2017年6月の RxJavaの勉強会発表 しています。

その調査の過程で、Espressoの同期処理のをカスタマイズできるIdlingResourceが意外と手強いことに気付いたので、 その知見を共有したい、というのが今回の発表の動機でした。

今回の発表テーマは、Espressoのテストを書いていて、かつ、UIの更新待ちに失敗した経験の有る方でないと、 なかなか共感してもらえない内容ですし、どうしてもソースコード多めになってしまいます。

ややこしいところにはアニメーションでシーケンス図を入れたり、こまめにまとめスライドを入れるなど、 できるだけ分かりやすくなるように工夫したつもりですが、どこまで皆さんに伝えることができたのか、今でも少し不安です。

当日来て下さった方が、何か1つでも持って帰っていただけたのなら、自分としても本当に嬉しいです。

もしよろしければ、どんなコメントでも構いませんので、公式アプリから「フィードバック」をしていただけますと大変嬉しいです。 Twitter (@sumio_tym)での質問やコメントも歓迎です。

お礼

自分の発表を聴いて下さった皆さん、Twitterに感想を書き込んで下さった皆さん、 パーティで声を掛けて下さった皆さん、どうもありがとうございました。

そして、DroidKaigi 2018スタッフの皆さんのお陰で、気持ち良く発表・参加することができました。 どうもありがとうございました。

来年のDroidKaigiで、また皆さんにお会いできるよう、引き続き頑張りたいと思います。