Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Interview and Book Excerpt: Hani Suleiman & Cedric Beust on TestNG

Interview and Book Excerpt: Hani Suleiman & Cedric Beust on TestNG recently sat down with Hani Suleiman and Cédric Beust the authors of Next Generation Java Testing: TestNG and Advanced Concepts to discuss the book and their thoughts about testing in general. InfoQ is also pleased to offer an excerpt from chapter 2 of the book, "Mocks and Stubs".

TestNG started as an experimental toy project. The main motivation was that despite using JUnit for years, there were still a lot of concepts and approaches used by JUnit that I didn't feel comfortable with. The more I investigated, and the more I disagreed with some of its core philosophical design decisions, such as reinstantiating your class before each method invocation (thus forcing me to use statics if I want to maintain state between invocations) or not allowing me to create dependent tests, which are crucial for functional testing.

Overall, I just found that JUnit was doing great in the area of unit testing but was lacking in other places required by any kind of functional or acceptance testing.

Back then, I was also involved in the annotations JSR and it occurred to me that annotations would be a good fit to mark test methods.

Finally, the last piece in the puzzle came from a web site with the strange name of that introduced this bizarre new concept of "tags". It occurred to me that it would be neat if I could tag my test methods and then be able to invoke any arbitrary group of them without having to recompile anything. I renamed these tags "groups" and I realized that they would be a great match for annotations as well.

With these ideas in mind, I set out to create TestNG 1.0 almost four years ago and I published it just for fun and to get some feedback.

Read more of InfoQ's interview with Cedrick Beust and Hani Suleiman

Rate this Article