t-masahidet-masahide

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

電子版は商業出版されたため、現在物理本を在庫限りで販売しております。 商業版はこちらにあります。本書よりソースコードのミスや表記など整備されております。内容はほぼ同じです。 https://www.amazon.co.jp/gp/product/B07LGN6M86?pf_rd_p=7b903293-68b0-4a33-9b7c-65c76866a371&pf_rd_r=46QDVDS5FJGN2B2FVQH3 昨今のAndroidの設計はMVPやMVVMといわれてますが、実際多くのプロジェクトではそのような構造化されたプログラムにはなっていないと思います。 ActivityにViewの操作、通信ライブラリの呼び出し、トラッキングログなどを詰め込む。いわゆるマッチョなActivity化してしまっているプロジェクトがほとんどではないでしょうか? そのようなプロジェクトにいきなりMVP化して通信ライブラリにRetrofitとRxを組み合わせ、Dagger2によるDIを導入するのは道のりが長いです。弊社でも歴史のあるプロダクトを触ってますが、本書にあるパターンを当てはめるとほぼPresenterにテストは書ける状態になっています。 いきなりモダンな作りにしなくとも、モダンな作りを行う前の準備段階としていかにソースコードをテスタブルな状態に持っていき、将来的にDagger2に置き換えられるかをいくつかのレガシーパターンのリファクタリング例を紹介することで少しでも助けになれば幸いです。

電子版は商業出版されたため、現在物理本を在庫限りで販売しております。 商業版はこちらにあります。本書よりソースコードのミスや表記など整備されております。内容はほぼ同じです。 https://www.amazon.co.jp/gp/product/B07LGN6M86?pf_rd_p=7b903293-68b0-4a33-9b7c-65c76866a371&pf_rd_r=46QDVDS5FJGN2B2FVQH3 昨今のAndroidの設計はMVPやMVVMといわれてますが、実際多くのプロジェクトではそのような構造化されたプログラムにはなっていないと思います。 ActivityにViewの操作、通信ライブラリの呼び出し、トラッキングログなどを詰め込む。いわゆるマッチョなActivity化してしまっているプロジェクトがほとんどではないでしょうか? そのようなプロジェクトにいきなりMVP化して通信ライブラリにRetrofitとRxを組み合わせ、Dagger2によるDIを導入するのは道のりが長いです。弊社でも歴史のあるプロダクトを触ってますが、本書にあるパターンを当てはめるとほぼPresenterにテストは書ける状態になっています。 いきなりモダンな作りにしなくとも、モダンな作りを行う前の準備段階としていかにソースコードをテスタブルな状態に持っていき、将来的にDagger2に置き換えられるかをいくつかのレガシーパターンのリファクタリング例を紹介することで少しでも助けになれば幸いです。