Even with good intentions, teams fall into testing anti-patterns — practices that make tests brittle, slow, untrustworthy, or low-value. Recognizing and avoiding them is important for maintaining a healthy, valuable test suite.
Test quality anti-patterns
✗ TESTING IMPLEMENTATION DETAILS → tests coupled to internals → break on every refactor
(brittle) → test BEHAVIOR/outcomes instead
✗ FLAKY tests → intermittent failures erode trust → people ignore failures (real ones too)
✗ OVER-MOCKING → mocking everything → tests verify mock interactions, not real behavior;
brittle and give false confidence
✗ Tests with NO meaningful assertions → run code but verify nothing (false coverage)
✗ GIANT tests checking many things → unclear what failed; hard to maintain
