We want to write unit tests faster, more robust and easier to maintain
- Too often we have broken unit tests because we have refactored code.
- Introducing or removing dependencies breaks tests because of missing arguments in constructors.
- We waste time arranging and mocking dependencies instead of focusing on testing.
- Repetitive plumbing code to mock and inject dependencies.