
54
3 章 テストをリファクタリングする
3.1
テストをリファクタリングする
この章では、テストのリファクタリングに注目していきますが、まずは言葉を定義しておきましょ
う。リファクタリングとは、元の機能を追加/変更することなく、コードを再構成することで内部
効率、安定性、長期保守性を改善する行為です。リファクタリングセッションを終えたときに、新
しいテストがあってはいけません。リファクタリングの唯一の目的は、既存のテストを改善するこ
とです。
リファクタリングには「新しいテストが
10
個以上できた」といった、すぐに得られる明確な結
果がないため、時間の無駄のように思えるかもしれません。ところが、当てにならないテストを
12
個作るよりも、
2
つしかないテストを不規則に失敗しないようにする方が、長期的に見ると、
はるかに生産性が高いことなのです。テストをリファクタリングすることは、健康のための体操と
よく似ています。あなたも運動しておかないと、心臓発作で寿命より
20
年早く死んでしまいますよ。
それはさておき、この章では、新しいテストは追加しません。その代わり、
2
Spaghetti
ー
の商品レビューテストを改善していきます。
3.2
DRY
テストパターン
テスト対象のアプリケーションと同じくらい、自動テストに注意と敬意を払うことは、長期的な
成功にとって重要です。よく知られたソフトウェア開発原則とデザインパターンを取り入れること
で、将来の保守にかかるコストを軽減することができます。こうした原則の
1
つに、 ...