このハンズオンでは「Now in Android App」のアプリを題材に、アプリアーキテクチャのレイヤにそってテストの書き方を学ぶ。
Now in Android Appで使用されている技術は次のとおりで、これらの技術を使ったアプリのテスト方法を解説する。
- Kotlin Coroutine
- Kotlin Flow
- Room
- Data Store
- ViewModel(Android Architecture Component)
- Jetpack Compose
- Dagger Hilt
- 本Repositoryをクローンし、カレントディレクトリをAndroid Studio (Electric Eel|2022.1.1+)で開く
- Build Variantを
demoExerciseDebug
にする - 目次から学習したいセクションのページに遷移する
- セクションのページにそって、練習問題を解く
- API通信をするコードのテストを実装しながらCoroutineのテストについて学ぶ
- データソースに応じたテストの書き方を学ぶ
- データベース(Room)のテストを書く
- DataStoreのテストを書く
- オンメモリキャッシュのテストを書く
- ViewModelをテストする
- Jetpack Composeをテストする
- Composeのユニットテストについて学ぶ
- ViewModelを結合してComposeをテストする
- ComposeのNavigationをテストする
- Jetpack Composeの画面スクリーンショットを使ってVisual Regression Testを実現する
- Composeのプレビュー画面でVisual Regression Testを行う
- Visual Regression TestをCIで実行する
- 様々なケースでComposeの画面スクリーンショットを撮る
- Composable Preview Scannerを使ってプレビュー画面のスクリーンショットを撮る
- README.mdをREADME.original.mdにリネームし、ハンズオン用のREADME.mdを追加
- ハンズオンの内容を記載したmarkdown及びmarkdownで利用する画像をdocs/handson配下に追加
- ハンズオンの演習と解答を1つのブランチで管理できるようにビルドバリアントを追加
- ハンズオンで利用する実装クラスとテストコードを追加
- すでにあった実装及びテストコードをハンズオンの演習内容にあわせて修正
- 依存ライブラリのアップデート
- テストで利用するライブラリを依存関係に追加
- Github Actionsの設定ファイルを削除
Original Copyright 2022 The Android Open Source Project. See README.original.md for details.
Modifications Copyright 2023 DeNA Co., Ltd.
Licensed under the Apache License, Version 2.0.