The book isn't new (published in 2005), and I'm certainly not the first to review the book (link). I'm also not the first to tell you, it's a good book (link).
I could just leave it at that: it's a good book. But I feel like I should tell you why I think that: because it's awesome! Also, it's written by a really smart guy.
If that's not reason enough, here's some more detail.
When I started reading the book, I was a little apprehensive. I was told the book is pretty dry and dense. I was more than a little surprised to find that the book was a real page turner! I rarely go through a technical book wanting to read the next page or chapter because of the very reason thing I was warned about with this book: dry and dense. I couldn't put this book down. I raved to Chris Slee about it repeatedly. I know he was tired of hearing about it, but he was a good sport about it, I think he even bought the eBook eventually.
Early in the book, there's mention that the book doesn't need to be read cover to cover, and it's okay (recommended even) to skip around. There are references to later pages and chapters related to the current topic. Those are pointing you to the part of the book that defines and describes the pattern/technique being described. That's the one thing I did wrong: I didn't go to those while I was reading. Why? Because I'm OCD about not skipping around in a book. I also thought that it was making reference to other sections, and I was afraid of getting lost! My fear was unfounded. One: I'm a man. Men don't get lost. Am I right, guys? Huh? Two: it was just to read through the technique. I have a finger and book marks, I could have saved my place and gone right back.
Even though I did it wrong, the book still changed how I do my work. That applies to both greenfield and brownfield development.
The book uses C++, Java, and .NET for examples, but the techniques can be applies to other technologies. That is, if you understand it. I glossed over the C++ examples and techniques. Not because I don't care, but because...well...I guess I don't care. I don't do C++ development, and my exposure is usually pretty limited to it.
I actually finished reading this book months ago, but it still stands out in my mind, and my work reflects the things I learned from it (you're welcome everybody working with my most recent work). It made that much of an impression on me.
To make a long rambling shorter, the book was very good. It was a little dry in a few places, but the information was presented very well throughout the entire book. I now have a much different and better view of what a unit test really is, how to write them, and how to integrate unit tests into existing code. I'm even considering reading it again. That says a lot. I probably won't re-read it, but the fact that I'm considering it is monumental because I never re-read books.