Skip to content

DeNA/android-modern-architecture-test-handson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android テストハンズオン

ハンズオンについて

このハンズオンでは「Now in Android App」のアプリを題材に、アプリアーキテクチャのレイヤにそってテストの書き方を学ぶ。




Now in Android Appで使用されている技術は次のとおりで、これらの技術を使ったアプリのテスト方法を解説する。

  • Kotlin Coroutine
  • Kotlin Flow
  • Room
  • Data Store
  • ViewModel(Android Architecture Component)
  • Jetpack Compose
  • Dagger Hilt

ハンズオンの進め方

  1. 本Repositoryをクローンし、カレントディレクトリをAndroid Studio (Electric Eel|2022.1.1+)で開く
  2. Build VariantをdemoExerciseDebugにする
  3. 目次から学習したいセクションのページに遷移する
  4. セクションのページにそって、練習問題を解く

目次

  • 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を使ってプレビュー画面のスクリーンショットを撮る

オリジナルのNow in Android Appからの変更点

  • README.mdをREADME.original.mdにリネームし、ハンズオン用のREADME.mdを追加
  • ハンズオンの内容を記載したmarkdown及びmarkdownで利用する画像をdocs/handson配下に追加
  • ハンズオンの演習と解答を1つのブランチで管理できるようにビルドバリアントを追加
  • ハンズオンで利用する実装クラスとテストコードを追加
  • すでにあった実装及びテストコードをハンズオンの演習内容にあわせて修正
  • 依存ライブラリのアップデート
  • テストで利用するライブラリを依存関係に追加
  • Github Actionsの設定ファイルを削除

License

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published