テストダブルを使うメリット
- 依存関係が多いとすべての依存関係をセットアップする手間がかかる。依存の最先端部分でテストダブルを使えば、末節の依存関係のことは気にしなくてよくなる
- 依存関係の一つに計算に時間がかかるロジックが含まれていた場合、そこをテストダブルにすればテストの実行時間を短くできる
- テストが実行されると現実に影響を及ぼす(例:銀行からお金が引き落とされる、ECサイトの買い物かごに商品が入る、他システムのAPIを叩く)ことをテストで起こしてはいけない。それを防ぐためにテストダブルを使用して、現実世界と切り離す。
- 逆に現実での不具合からテストを守る側面もある。例えば他システムのAPIが障害発生により利用できなくなったときにAPIからのレスポンスのテストダブルを作っておけばテストがその影響を受けることはない
【参考】