Over the holidays I finally had some time to work on my stack of books to read. One of the books on top of my list was
The chapters in detail
I decided to provide you with a short overview of the different sections in the book accompanied by one or two sentences describing what you have to expect from those. Hopefully this will give you the information to decide whether this book is what you are looking for. The following list is not an exact copy of the chapters you will find in the book. It rather presents logical units of explanation I think are worth mentioning. Therefore the here provided sections often cover more than one chapter of the book.
Introduction to TDD
The author starts by giving an overview about what automated tests are, explaining all the needed vocabulary like assertions, test functions, test cases, test suites, …. After that it is detailed why and in which way TDD changes the way you develop software to the better.
Tools of the Trade
In today's segmented world of browsers it is more important than ever to detect which features a browser does support. The according chapter does not only provide ways of doing exactly this, but explains how unit tests can help you easily ensure browser compatibility of your application.
The next section of the book does provide a more sophisticated look at ways to unit test applications by utilizing real world problems: Observer pattern, Ajax abstraction and a COMET based chat client.
Even though these examples are stripped down to the bare minimum to fit into the book, they provide an interesting insight into problems and their solutions, which arise while handling unit tests in the real world.
Server-Side Testing with node.js
The book concludes with some chapters about testing patterns which have been well-established over the years. It is explained in detail what stubs and mocks are, how they can be used to ease and decouple tests, as well as what frameworks exist to assist you in doing so.
As I stated at the beginning of my review, I didn't learn much new from this book. This is mostly due to the fact, that I am working with all of these technologies for quite some time know, which allow me a great insight into this world. I have however been provided with a new angle to look at different problems and solutions, which will most likely help me to be even more efficient in the future.