<pre>Author/s : Cedric Beust, Hani Suleiman Publisher : Addison-Wesley Professional Category :Miscellaneous Java Review by : Jeanne Boyarsky Rating : 7 horseshoes</pre> "Next Generation Java Testing" has a subtitle: "TestNG and Advanced Concepts." This isn't surprising given the creator of TestNG is an author, but is important to realize. It starts with 6.5 pages on why TestNG is better than JUnit 3.8. Then only two paragraphs on JUnit 4. This has been a pet peeve of mine for some time. It's like comparing the current version of C# to Java 1.3 and then saying Java is worse because it doesn't have generics.
I liked the code snippets in the TestNG sections as they focused on relevant pieces. The examples were to the point. Especially the performance and J2EE sections. I liked the concepts described in chapter 2 (over 100 pages.)
The authors describe open source libraries that integrate with TestNG. I liked this coverage although JMock could have used a code example for comparison (easyMock had one.) Ant targets were provided for the code coverage examples.
Chapter seven is titled "digressions." Some quotes from the text on this: "pet peeves, rants, annoyances and musings", "much ... very tangentially relevant", "some ... outright irrelevant." I agree with some and disagree with some. I think this chapter would have been better as a series of blog posts than a chapter in a book.
If you are using/planning to use TestNG and can ignore the rants, this is a good book.
<pre>Review by : David O'Meara Rating : 6 horseshoes</pre> The first thing to note about the book Next Generation Java Testing is that while it does indeed cover advanced testing concepts in Java, these concepts are largely geared towards the use of the free TestNG (www.testng.org) product, and I think it is worth being aware of and accepting this from the beginning. The book contains valuable information on testing alone, just not enough to make it worth while if you're not interested in at least evaluating TestNG.
Possibly unfairly, this book will be judged based on a comparison between JUnit and TestNG themselves, rather than being able to judge the book on its own merits. The TestNG product is aimed at a complete redesign of the Java unit testing process, so it surprised me that the only real discussion on JUnit was a nod towards them in the first chapter, and a mention that some of the TestNG features had been incorporated into JUnit. Strange then that there wasn't greater effort placed on comparing and contrasting their tool against the industry standard.
When treated as a stand-alone book, it is a good reference for TestNG, and if you have already evaluated the product and would like to use it then this is a good book to help you do that. It won't, however, help you make this decision, and while the TestNG product has some intriguing features and different ways to test than that of JUnit, I believe you'll already need to be experienced in JUnit to get full use of both the book and the product.