メニュー

テストが書けない人のAndroid MVP

発売日: 2019/4/12 想定ページ数: 60ページ ISBN: 9784844398714 全文検索: 対応
★★★★★ ★★★★★ 0件
【レガシーなコードをMVPで分割してテスト可能に変える!】

本書は多くのプロジェクトで運用されているレガシーなコードをリファクタリングし、将来的にモダンなコードとしていくために必要なテストコードの書き方を解説したガイドブックです。将来的にDagger2に置き換えることを目標としつつ、いくつかのレガシーパターンのリファクタリング例を紹介しています。
〈本書の想定読者〉
・レガシー化したAndroidのソースコードを今どきのMVPに置き換えたいが何から手を付ければいいかわからない
・MVPにしてみたけどPresenterにView側の処理が入り込んだり、何が変わったかわからない
・MVPにしてみたけど結局テストコードが書けない
・Dagger2やRxJavaを使わないとテストは書けないと思っている

【目次】
第1章 本書でのMVP
・MVPとは?
・MVPのパッケージ構成
・本書で使用するmockライブラリー
第2章 MVP化の心得
・心得1:ViewとPresenterのインターフェースを「声に出して」抽出する
・心得2:可能な限りViewにifを書かない
・心得3:Presenterのビジネスロジックの心得
・心得4:Humble Objectパターン
第3章 シングルトンの依存切り離し
・シングルトンクラスの辛いところ
・コンストラクタインジェクション
・静的setメソッドの導入
・インターフェースの抽出
・ラップクラスで包む
・シングルトンクラスのメソッドにContextの引数が……
・この章のまとめ
第4章 staticメソッド依存の排除
・staticメソッドの辛いところ
・普通のクラスに変える
・移譲用インスタンスメソッドの導入
・ラップクラス
・すべてのstaticが悪ではない
第5章 コールバックをテスト
・インターフェースコールバックをテストする
・Timer処理もテストする
・余裕があればリポジトリーパターンに置き換え
第6章 外部ライブラリー依存
・サードパーティのライブラリーをそのまま使ってはいけない
・ラップクラスで包むまたはリポジトリーパターンに置き換え
・コンストラクタインジェクションする
第7章 MVPを実践してみる
・太ったActivityのMVPへ置き換える
・次のステップへ
目次プレビュー
  • まえがき
  • 第1章 本書でのMVP
  • 第2章 MVP化の心得
  • なぜこの本を書こうとしたのか
  • 対象読者
  • なぜMVPなのか
  • お問い合わせ
  • ソースコード
  • 免責事項
  • 表記関係について
  • 底本について
  • MVPとは?
  • MVPのパッケージ構成
  • 本書で使用するmockライブラリー
  • 心得1:ViewとPresenterのインターフェースを「声に出して」抽出する
  • 心得2:可能な限りViewにifを書かない
  • 心得3:Presenterのビジネスロジックの心得
  • 心得4:Humble Objectパターン
  • シングルトンクラスの辛いところ
  • コンストラクタインジェクション
  • 静的setメソッドの導入
  • インターフェースの抽出
  • ラップクラスで包む
  • シングルトンクラスのメソッドにContextの引数が……
  • この章のまとめ
  • staticメソッドの辛いところ
  • 普通のクラスに変える
  • 移譲用インスタンスメソッドの導入
  • ラップクラス
  • すべてのstaticが悪ではない
  • インターフェースコールバックをテストする
  • Timer処理もテストする
  • 余裕があればリポジトリーパターンに置き換え
  • サードパーティのライブラリーをそのまま使ってはいけない
  • ラップクラスで包むまたはリポジトリーパターンに置き換え
  • コンストラクタインジェクションする
  • 太ったActivityのMVPへ置き換える
  • 次のステップへ
  • 参考文献

まだレビューが投稿されていません