第11章 変更する必要がありますが、どのメソッドをテストすれば良いのでしょうか?
既存のコードをリファクタリングするにもテストがないため正しくできているかわからない
テストを書くには、最適な場所を見つけてきちんとした方法で調査する必要がある
テストを書くための影響調査方法
- 影響スケッチ
- やり方
- 影響を受ける変数と、戻り値が変わる可能性があるメソッドを楕円で書く
- 更新されるものについて楕円を描き、実行時に値が変わるものに向かって矢印をかく
- コードが十分に構造かされているものなら、ほとんどのメソッドの影響スケッチは単純になる
- より単純になるようにすれば、より保守しやすくなる
- やり方
- 前方向の調査
- しようかテストを書く際には、もし一連のオブジェクトが正しく動作しなかった場合、何が変わるのかを考える
- 変更対象の影響スケッチを書く
- スーパークラスや、サブクラスも忘れないように注意
- 影響の伝搬
- 基本は三つの方法で伝播する
- 呼び出し側に使われる戻り値
- パラメーターとして渡されるオブジェクトの変更
- staticデータ、もしくはグローバルなデータの変更
- 基本は三つの方法で伝播する
感想
関係ないかもだけど、UIFlowとかも影響スケッチみたいなもの?
プログラムというより、UIに主眼をおいている