Skip to main content

[書評]Androidテスト全書

Androidテスト全書を読んだ
https://peaks.cc/books/android_testing

マスタカと言えばAndrodエンジニア
テストは100点を毎回取っていたので
Andoridでもテストしたいと思い読んでみた


・本書の内容
Androidのテスト全般に書かれた本
これ1冊読むだけでテストについて一通り学べます

・テストのピラミッド
ユニットテスト:70%
Robolectricsもここ
インテグレーションテスト:20%
Firebase Test
UIテスト:10%

・時間がないからテストをかかない場合
レビューコストの増大
QA開始後の手戻りの発生により
安物買いの銭失いになりがち

・AssertJ
これ導入理由がずっと疑問だったんだけど
自然言語に近い形で読みやすくかけるってのが理由らしい

(´・ェ・)うーん

・Argument Capture
mockitoの機能で引数に何が来たかテストできる

これ知らなかった

・Context
androidx.test.InstrumentationRegistry.getTargetContext()
でtestに使うcontextが取得できる

これも知らなかった。
これだけのためにrobolectricsのshadowContext使ってた

・非同期のテスト
CountDownLatchを使って待ち合わせる
Futureで結果を待つ

・@VisibleForTesting
これをつけるとテストのときだけpublicにできる
これ知らなくてpublicにしたメソッドがある・・・

・UIテスト
Esopressoが公式
Appiumというものもあり、こっちはselenium互換

・PageObjectデザインパターン
テスト画面ごとにクラスを定義する

・Espresso Test Recorder
これを使うとコード書かなくてもテストがかける

・レイアウトインスペクタ
AndroidStudio付属のものと
uiautomatorviewerがある
基本はAndroidStudioのものを使えば良さそう

・kotlinでテストするなら
kotlin-allopenを使うとopenにしなくてすむ
これを知らなくて無駄にopenつけてしまった・・・

 

Androidエンジニアのレベルを測る指標として
テスト書いているかどうかという点があると思います
本書を読めば確実にテストのスキルが上がると思うので
全Androidエンジニア必携の1冊です

関連記事:

Pocket