This book explains in detail how to implement unit tests using two very popular open source Java technologies: TestNG and Mockito. It presents a range of techniques necessary to write high quality unit tests - e.g. mocks, parametrized tests and matchers. It also discusses trade-offs related to the choices we have to make when dealing with some real-life code issues.
The book stresses the importance of writing readable and maintainable unit tests, and puts a lot of stress on code quality. It shows how to achieve testable code and to eliminate common mistakes by following the Test Driven Development approach. Every topic discussed in the book is illustrated with code examples, and each chapter is accompanied by some exercises.
By reading this book you will:
Grasp the role and purpose of unit tests Write high-quality, readable and maintainable unit tests Learn how to use TestNG and Mockito (but also other useful tools) Avoid common pitfalls when writing unit tests Recognize bad unit tests, and fix them in no time Develop code following the Test Driven Development (TDD) approach Use mocks, stubs and test-spies intelligently Measure the quality of your tests using code coverage and mutation testing Learn how to improve your tests' code so it is an asset and not a burden Test collections, expected exceptions, time-dependent methods and much more Customize test reports so that they show you what you really need to know Master tools and techniques your team members have never even heard of (priceless!) :)
Nowadays every developer is expected to write unit tests. While simple in theory, in practice writing high-quality unit tests can turn out to be a real challenge. This book will help.
Without a doubt a great book for beginners in Testing.
Bought only a few months after its publication (2012) I was delighted to find some very up-to-date content.
It has some high level concept but goes into coding too. Simple but effective examples are used.
I also appreciated Thomasz's openness to other ways of thinking & technologies. Reminding (& indicating where to read more abt it!) when required that other techniques also exist and can/should be considered.
I could say much more. But all in all, it is a pleasure to read this book & deserves 5 stars.
If you ever read this Thomasz: Thanks for having written this book, this was refreshing :)
The less experienced in testing you are, the more you will get from this book. And for people who are testing and using TestNG and Mockito for over a eight or more years: this book is probably not for you.
If you place yourself in the middle, Practical Unit Testing with TestNG and Mockito is still a very good choice as it will help you to systematize all the stuff you already know and meanwhile you will surely learn something new about tools and, worth to note, about general efficient and painless approach to testing your code.
I am a JUnit person this book gave me a chance to see how TestNG is different which I think was a quite valuable gain and the main reason to read the book in my case.
Apart from this Practical Unit Testing with TestNG and Mockito is a compendium of TDD best practices based on author's own experience. It is a great book for everyone from beginners to moderately advanced practitioners of test first approach. So, if any of the mentioned reasons works for you order this book and enjoy ;-).
World would be better if every programmer read this book. The book focuses not only on the toolset which perhaps will be outdated very quickly but also/mainly on the OO design and testing principles.
The books have not got maximum score due to my general feeling and some lack of professional publishing and too much "spoken english".