テストダブルは、テスト内で実際の依存関係の代わりとなるオブジェクトです。モック、スタブ、スパイ、フェイク、ダミーが含まれます。テスト対象コードを依存関係(データベース、API、サービス)から分離し、高速で焦点を絞った制御可能なユニットテストを実現します。
テストダブルが重要な理由
To test a unit in ISOLATION, replace its real dependencies (DB, API, services) with
TEST DOUBLES (fake stand-ins):
→ isolate the unit (test ONLY it, not its dependencies)
→ FAST (no real DB/network); CONTROLLED (set up exact scenarios, including errors);
DETERMINISTIC (no external flakiness)
