Making legacy systems testable
5 stars
Excellent collection of techniques that will enable you to develop test cases for code that you thought was hard to test.
Very code-centric with a focus on object-orientation. Since the book’s publication mocking frameworks (e.g. Mockito) have advanced considerably, so some of the ideas are now even easier to use.
The problem of legacy systems is of course bigger than OO code (databases, COBOL). But for cleaning up and testing OO code, this is a great resource.