Last month, I read "Unit Testing Principles, Practices, and Patterns" by Vladimir Khorikov. This is a short collection of my thoughts on this work.
Overall, I found the book to be the best intermediate to advanced works on testing that I have read. This is not your 'typical' unit testing book that first tries to convince you that testing is important, than walks you through how to create very rudimentry unit tests. Neither does it expose a particular development practice like TDD. Rather, Khorikov starts with the premise that you already see the value in testing and are already writing tests. The goal of the book is to help you write better, more useful tests by identifying the attributes of a good test. As a developer recogonizes and understands the attributes of a good test suite and how to write one, they begin to write better, more testable code, creating a virtuious cycle in the codebase.
Khorikov's big idea comes in chapter 4, after he has described the st