Comment by nerder92
14 days ago
Everytime I read about this kind of argument against mock is usually due to a misunderstanding on why unit tests with mocking exists in the first place. The underlying assumption is that tests are a quality assurance tool but I think that this is true only for E2E (possibly in production). In outside in TDD unit test are used as a design tool not a QA one, and mocking is a convenient way to quickly do that without the need of implementing the next layer, mock usually don’t replace an implemented service that does IO they implemented a noop that triggers an exception (so they your E2E won’t pass until you implement that)
The problem is in the name, unit test should be called implementation spec or in-code documentation.
Each layer of testing has its roles and serves a different purpose.
No comments yet
Contribute on Hacker News ↗