This is an excellent book to start learning about Test driven developpement in Java. In each chapter, the author defines a practical use case, with detailed specifications. Then, he writes, step by step, tests, code implementations, and refactorings.
Authors go through the most used test APIs and compares them (with practice). If you are a beginner Java programmer, this book is for you. You will learn too many technologies about testing, and developpement tools.
In addition, this book introduces practical use of Vagrant, Docker and Mongodb.