Chapter 8
Test Doubles
Functions that change state should not return values and functions that return values should not change state.
– Bertrand Meyer, Object-Oriented Software Construction
I still remember when I joined the first hardcore XP team. It was still experimental at that company, and we didn't have the funds for tools in the beginning, aside from an IDE refactoring helper. We couldn't introduce frameworks without a bureaucratic request – a troublesome authorization process lasting weeks. Nevertheless, our backlog needed to be delivered in time. That's where I had to learn to inject dependencies manually and to manually develop all test doubles. We called it "poor man dependency injection" and "poor man mocking," underscoring the ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access