Test double là các object thay thế cho dependency thật trong test — bao gồm mock, stub, spy, fake và dummy. Chúng cô lập code đang test khỏi các dependency của nó (database, API, service), cho phép unit test nhanh, tập trung, kiểm soát được.
Tại sao dùng test double
Để test một unit một cách ĐỘC LẬP, thay các dependency thật (DB, API, service) bằng
TEST DOUBLE (thay thế giả):
→ cô lập unit (test CHỈ nó, không phải dependency của nó)
→ NHANH (không DB/network thật); KIỂM SOÁT (thiết lập kịch bản chính xác, kể cả lỗi);
DETERMINISTIC (không flaky từ bên ngoài)
