Test doubles هي كائنات تحل محل التبعيات الحقيقية في الاختبارات — وتشمل mocks وstubs وspies وfakes وdummies. تعزل الكود المراد اختباره عن تبعياته (قواعد البيانات والـ APIs والخدمات)، مما يمكّن من اختبارات وحدة سريعة وموجهة ومضبوطة.
لماذا test doubles
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)
