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冊です
関連記事:
- [書評]Kotlinイン・アクション
- Kotlin Coroutines by Tutorialsを読んだ
- Cannot fit requested classes in a single dex file. Try supplying a main-dex list.