Testing Traps
jest.mock()hoisted — runs before imports, can't use variables from file- Mock not cleaned between tests —
jest.clearAllMocks()inbeforeEach asynctest withoutawait— test passes before promise resolves/rejectstoEqualvstoBe—toBeuses===, fails on equal objects- Timer mocks —
jest.useFakeTimers()needed, real timers make tests flaky - Snapshot too big — small changes break test, snapshot should be focused
done()callback timeout — forgetting to calldonehangs test