Mocking Smells.
Excessive Mocking
A test wires up so many mock objects and stubbed interactions that the mock setup dwarfs the actual verification, so the test ends up exercising the mocks rather than real behavior.
Testing Implementation Details
A test asserts on how the code works internally — private fields, internal method calls, DOM structure, or CSS classes — instead of the observable behavior a real consumer depends on.
Overspecified Test
An overspecified test asserts far more than the behavior under test requires—pinning exact output strings, full object shapes, collection order, or every internal collaborator call—so it breaks whenever an unrelated implementation detail changes.