TestNG 5.13.1 is now available. The previous release was just three months ago, but as you can see below, a lot of fixes went into this new version. A big thanks to everyone who helped (hopefully credited below), and especially to Nalin Makar, who made some major contributions to TestNG these past months.

You can either download TestNG from the web site or from Maven:


Here is the complete list of changes, please refer to the documentation for more details.


  • Added: -methods
  • Added: -configfailurepolicy (Todd Quessenberry)
  • Added: -methodselectors (Todd Quessenberry)
  • Added: @NoInjection
  • Added: <test preserve-order="true">
  • Added: -testnames (command line) and testnames (ant)
  • Added: New ant task tag: propertyset (Todd Wells)
  • Added: ITestNGListenerFactory
  • Added: Passing command line properties via the ant task and doc update (Todd Wells)
  • Added: Hierarchical XmlSuites (Nalin Makar)
  • Added: Reporter#clear()
  • Fixed: NullPointerException when a suite produces no results (Cefn Hoile)
  • Fixed: Identical configuration methods were not always invoked in the correct order in superclasses (Nalin Makar)
  • Fixed: @DataProvider(parallel = true) was passing incorrect parameters with injection
  • Fixed: Replaced @Test(sequential) with @Test(singleThreaded)
  • Fixed: If inherited configuration methods had defined deps, they could be invoked in incorrect order (Nalin Makar)
  • Fixed: Initialize all Suite/Test runners at beginning to catch configuration issues right at start (Nalin Makar)
  • Fixed: Issue7: Issue86 Incorrect dates reported for configuration methods
  • Fixed: Issue24: OOM errors in SuiteHTMLReporter (Nalin Makar)
  • Fixed: Time outs specified in XML were not honored for <suite parallel=”tests”>
  • Fixed: <suite> and <test> time outs were hardcoded, they now honor their time-out attribute
  • Fixed: TestNG was hanging if no test methods were found
  • Fixed: onTestSuccess() was called after @AfterMethod instead of after the test method (test: test.listener.ListenerTest)
  • Fixed: XML test results contained skipfailedinvocationCounts instead of skipfailedinvocationcounts
  • Fixed: Issue4 assertEquals for primitive arrays, Issue34 assertNull javadoc updated
  • Fixed: Issue78 NPE with non-public class. Now throws TestNG exception
  • Fixed: NPE with @Optional null parameters (Yves Dessertine)
  • Fixed: TESTNG-387 TestNG not rerunning test method with the right data set from Data Provider (François Reynaud)
  • Fixed: Show correct number of pass/failed numbers for tests using @DataProvider
  • Fixed: Return correct method status and exception (if any) in InvokedMethodListener.afterInvocation()
  • Fixed: Trivial fixes: TESTNG-241 (log message at Info), Issue2 (throw SAXException and not NPE for invalid testng xml)
  • Fixed: Configuration methods couldn’t depend on an abstract method (Nalin Makar)
  • Fixed: TestNG#setTestClasses was not resetting m_suites
  • Fixed: Exceptions thrown by IInvokedMethodListeners were not caught (Nalin Makar)
  • Fixed: @Listeners now works on base classes as well
  • Fixed: Test priorities were not working properly in non-parallel mode
  • Fixed: @Listeners wasn’t working properly with ITestListener


  • Fixed: TESTNG-395 New wizard was creating classes called “NewTest”
  • Fixed: TESTNG-397 Class level @Test was preventing groups from showing up in the launch configuration


  • Updated Maven documentation (Brett Porter)