Current Added: timeOut for configuration methods Added: -randomizesuites (Nalin Makar) Added: IConfigurable Fixed: IDEA's plug-in was not honoring ITest (fixed in TestResultMessage) Fixed: Methods depending on a group they belong were skipped instead of throwing a cycle exception Fixed: TESTNG-401: ClassCastException when using a listener from Maven Fixed: TESTNG-186: Rename IWorkerApadter to IWorkerAdapter (Toms Pollak) Fixed: TESTNG-415: Assert.assertEquals() for sets and maps fails with 'null' as arguments Fixed: typo -testRunFactory Fixed: NPE while printing results for an empty suite (Nalin Makar) Fixed: Invoke IInvokedMethodListener.afterInvocation after fixing results for tests expecting exceptions (Nalin Makar) Eclipse: Added: The progress bar will now be orange if the suite contained skipped tests and no failures Added: Skipped test and suite icons are now orange (previously: blue) Added: New method shortcuts: "Alt+Shift+X N", "Alt+Shift+D N" (Sven Johansson) Fixed: Workspace preferences now offer the "XML template" option as well as the project specific preferences (Asiel Brumfield) Fixed: TESTNG-418: Only last suite-file in testng.xml run by Eclipse plugin Documentation: Added: Section on Selenium (Felipe Knorr Kuhn) Added: Link to an article on TestNG, Mockito and Emma in the Misc section =========================================================================== 5.14.1 2010/10/2 Fixed: TESTNG-401: ClassCastException when using a listener from Maven =========================================================================== 5.14 2010/08/28 Added: test suites can now be run in parallel with -suitethreadpoolsize Fixed: @Listeners now aggregate through base classes Fixed: ISuite was no longer serializable Fixed: Injection was sometimes not working properly when used with @Parameters Fixed: TESTNG-400: afterMethod was called after onTestFailure() Fixed: "excludedgroups" was not working on the ant task because of a typo Fixed: ant task error if is used with no classes (welex91) Fixed: TESTNG-404: threaded tests fail due to use of non-threadsafe collections (Marcus Better) Fixed: preserve-order was not preserving class order with dependent methods Fixed: RetryAnalyzer wasn't working properly with factories Fixed: The ant task was no longer supporting ',' for testclass Eclipse: Fixed: The plug-in wasn't running Groovy tests correctly (Andrew Eisenberg) Fixed: TESTNG-402 [Eclipse Plug-In] NPE occurred when I run twice a custom "Run configuration" on a group =========================================================================== 5.13.1 2010/08/05 Added: -methods Added: -configfailurepolicy (Todd Quessenberry) Added: -methodselectors (Todd Quessenberry) Added: @NoInjection Added: 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 Fixed: and 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 (Franois 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 Eclipse 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 Doc Updated Maven documentation (Brett Porter) =========================================================================== 5.12.1 2010/03/29 Maven update =========================================================================== 5.12 Removed: Javadoc annotation support Added: @Listeners Added: IAttributes#getAttributeNames and IAttributes#removeAttribute Added: testng-results.xml now includes test duration in the tag (Cosmin Marginean) Added: Injection now works for data providers Added: TestNG#setObjectFactory(IObjectFactory) Added: Priorities: @Test(priority = -1) Added: New attribute invocation-numbers in Added: testng-failed.xml only contains the data provider invocations that failed Added: IInvokedMethodListener2 to have access to ITestContext in listeners (Karthik Krishnan) Fixed: @Before methods run from factories were not properly interleaved Fixed: The TextReporter reports skipped tests as PASSED (Ankur Agrawal) Eclipse: Added: New file wizard: can now create a class with annotations, including @DataProvider Added: You can now select multiple XML suites to be run in the launch dialog Fixed: @Test(groups = ) was taking name of the constant instead of its value. Fixed: http://jira.codehaus.org/browse/GRECLIPSE-476 NPE with Groovy Tests (Andrew Eisenberg) Fixed: The custom XML file is now created in the temp directory instead of inside the project Fixed: In the launch dialog, now display an error if trying to pick groups when no project is selected Fixed: Was not setting the parallel attribute correctly on the temporary XML file =========================================================================== 5.11 2009/12/08 Added: Dependent methods can now run in their own thread Added: dataProviderThreadCount can be set from the command line and from ant (Adrian Grealish) Added: ITestAnnotation#setDataProvider Added: Assert#assertEquals() methods for Sets and Maps Fixed: The text reporter was no longer reporting stack traces for verbose >= 2 Fixed: dataProviderClass was not respecting inheritance (like most attributes still) Fixed: @BeforeSuite/@AfterSuite would run multiple times when used in a @Factory Fixed: packages=".*" wasn't working properly (sandopolus) Fixed: TestResult#getName now returns the description instead of the method Fixed: @DataProvider and dependent methods were not skipping correctly (Francois Reynaud) Fixed: TESTNG-347 suite with parallel="tests" and test with parallel="classes" doesn't work correctly (Rob Allen) Fixed: TESTNG-67: @Configuration/@Factory methods in base class being ignored Fixed: Inner test classes were not excluded properly (Carsten Gubernator) Fixed: threadPoolSize without invocationCount was causing reporters not to be invoked Fixed: A @Factory throwing an exception did not cause any error Fixed: was not working properly in the ant task (Ed Randall) Fixed: @BeforeClass methods were not running in parallel (Aidan Short) Fixed: Test class with @ObjectFactory doesn't get instantiated via the factory Fixed: Allow IObjectFactory to load from non-standard classloader (for PowerMock support) Eclipse 5.11.0.19: Added: New "parallel" preference setting (Windows / Preferences / TestNG) Fixed: IIinvokedMethodListeners were not invoked =========================================================================== 5.10 Added: The output in the testng-results.xml is now sorted by the starting timestamp (Daniel Rudman) Added: Better display of the test name and method description in the default and Emailable report Added: If both -testjar and an XML file are provided on the command line, the latter will be used Added: @Before and @After methods can be injected with the current XmlTest Added: Methods that time out now display the stack trace showing where the time out occurred Added: ITestResult#getAttribute and ITestResult#setAttribute Added: @After methods can now be injected with an ITestResult Added: @BeforeMethod and @AfterMethod methods can now be injected an ITestResult Added: ISuite#getAttribute and ISuite#setAttribute to share data within a suite Added: @Test(expectedExceptionsMessageRegExp = ".*foo.*") Added: @DataProvider(parallel=true) Fixed: @Test(dataProvider) was not working at the class level Fixed: Display a better error message if the wrong exception is thrown with an expectedExceptions Fixed: Classes created by factories were not run in the order they were created Fixed: Dependent methods are now run closer to methods within their class Fixed: xmlFileSet in ant was not working correctly (Sean Shou) Fixed: Various oversights in the DTD (Will McQueen) Fixed: XMLUtils was not escaping XML attribute values Fixed: TESTNG-317: Sequence order mis-calculation: testing using suite in sequence for classes and same method names creates non-sequential order Fixed: Test names (classes that implement org.testng.ITest) now appear more prominently in the HTML reports Fixed: expectedExceptions=RuntimeException.class was not failing when no exception was throw Fixed: TESTNG-291: Exceptions thrown by Iterable DataProviders are not caught, no failed test reported (Roberto Tyley) Fixed: TESTNG-301: Need to include parameters in testNG report for test created by @Factory Fixed: testng-failed.xml now includes skipped tests Fixed: TestNG couldn't find Groovy files (Haw-Bin) Eclipse Fixed: TESTNG-313: Provide extension point to contribute test and report listeners (Erik Putrycz) Fixed: Quick fixes no longer introduce deprecated annotations (Greg Turnquist) =========================================================================== 5.9 2009/04/09 Added: New ant task boolean flag: delegateCommandSystemProperties (Justin) Added: skipfailedinvocations under in testng-1.0.dtd (Gael Marziou / Stevo Slavic) Added: -testrunfactory on the command line and in the ant task (Vitalyi Pamajonkov) Added: TESTNG-298: parallel="classes", which allows entire classes to be run in the same thread Added: @BeforeMethod can now declare Object[] as a parameter, which will be filled by the parameters of the test method Added: IAnnotationTransformer2 Added: @Test(invocationTimeOut), which lets you set a time out for the total time taken by invocationCount Added: IInvokedMethodListener Added: -testjar supports jar file with no testng.xml file Fixed: IInvokedMethodListener wasn't properly recognized from the command line (Leonardo Rafaeli) Fixed: TESTNG-309 Illegal default value for attribute in DTD file Fixed: TESTNG-192: JUnit XML output includes wrong tests (Aleksandar Borojevic) Fixed: Set a generated suite to default to non-parallel (Mark Derricutt) Fixed: -testJar command line parsing bug Fixed: testng-failed.xml didn't include the listeners Fixed: annotation transformers were not run when specified in testng.xml Fixed: TESTNG-192: JUnit XML output includes wrong tests (Borojevic) Fixed: @Parameters was not working correctly on @BeforeMethods with @DataProvider used on @Test methods Fixed: testng-failed.xml was sometimes incorrectly generated (Borojevic) Fixed: TestNG-228: Assert.assertEqualsNoOrder Fixed: TestNG-229: Assert.assertEquals does not behave properly when arguments are sets Fixed: TESTNG-36: assertEquals(Collection actual, Collection expected, String message) may have bug Fixed: TESTNG-296: Malformed jar URLs breaking -testJar Fixed: TESTNG-297: TestNG seemingly never stops running while building failed test suite (Gregg Yost) Fixed: TESTNG-285: @Test(sequential=true) works incorrectly for classes with inheritance Fixed: TESTNG-254: XMLSuite toXML() ignores listeners Fixed: TESTNG-276: Thread safety problem in Reporter class Fixed: TESTNG-277: Make Reporter.getCurrentTestResult() public Fixed: Potential NPE in XmlTest#getVerbose (Ryan Morgan) Fixed: EmailableReporter only displayed the first group for each test method Fixed: time-outs were not working in and Fixed: @BeforeTest failing in a base class would not cause subsequent test methods to be skipped Fixed: TESTNG-195: @AfterMethod has no way of knowing if the current test failed Fixed: TESTNG-249: Overridden test methods were shadowing each other if specified with Fixed: DataProviders from @Factory-created tests were all invoked from the same instance Fixed: enabled was not working on configuration methods Fixed: IIinvokedMethodListener was not correctly added in TestNG Fixed: NPE in XmlSuite#toXml Fixed: TESTNG-231: NullPointerException thrown converting a suite to XML (Mark) Doc: Added: 5.20: IInvokedMethodListener Added: -testjar =========================================================================== 5.8 Fixed: TestNG-220: Ignore class definition/loader issues when scanning classpath for implicit classes Fixed: TestNG-224: Fix for relative suite filenames in XML file Added: TestNG-213: @Optional on a method parameter to allow optional @Parameters Fixed: TestNG-214: SkipException and TimeBombSkipException should accept nested exceptions Fixed: TestNG-211: new Parser(inputStream) doesn't work Added: Methods that form a cycle are now shown when the cycle is detected Added: Support for in testng.xml Added: IMethodInterceptor Added: @TestInstance on a data provider method parameter Fixed: @AfterMethod(lastTimeOnly) didn't work properly with data providers Added: antlib.xml to allow autodiscovery of Ant task definition Fixed: name attribute on is required Doc: Added: Method Interceptor Added: @Optional Added: Doc for IMethodInterceptor (5.16) and TestNG listeners (5.18) Added: 5.19: Dependency injection =========================================================================== 5.7 Added: @BeforeMethod(firstTimeOnly) and @AfterMethod(lastTimeOnly) Added: @BeforeMethods can now take a Method and ITestContext parameters (like @DataProvider) Fixed: logging about abstract classes moved to level 5 Added: if @Parameter is missing from testng.xml then it is read from the System properties Fixed: Don't run a @DataProvider method as a test when a class-level @Test is present Added: Attribute @Test#skipFailedInvocations Fixed: TESTNG-169 Error message: is depending on nonexistent method null ("null" is uninformative) Fixed: -listener takes comma-separated classes Added: RetryAnalyzer (experimental) (Jeremie) =========================================================================== 5.6 2007/06/14 Added: SkipException/TimeBombedSkipException for manual skipping Added: can now be disabled at xml level using Added: Suite files that only contain other suites do not get reported Fixed: @BeforeClass methods would incorrectly report cyclic graphs Added: get/setAttribute to ITestContext Added: plugging in factory objects to handle the actual instantiation of tests Added: dataProvider to @Factory Added: ISuite now gives access to the current XmlSuite Fixed: TESTNG-139 dependsOnMethods gets confused when dependency is "protected" Fixed: TESTNG-141 junit attribute set to false in testng-failed.xml when it should be true Fixed: TESTNG-142 Exceptions in DataProvider are not reported as failed test Added: Improved behavior for @Before/@AfterClass when using @Factory (http://forums.opensymphony.com/thread.jspa?threadID=6594&messageID=122294#122294) Added: Support for concurrent execution for invocationCount=1 threadPoolSize>1 and @DataProvider (http://forums.opensymphony.com/thread.jspa?threadID=64738&tstart=0) Added: New TestNG specific XML report, generated by default in 'xml' subdirectory of test-output Added: support in strprotocol for passing the ITest.getTestName() information Fixed: TESTNG-152 If DataProvider is not found, the exception message should tell exactly what happened Eclipse plug-in Fixed: Bug that made group launch configurations unusable Fixed: The plugin doesn't create the correct launch configuration for @Factory Fixed: Method based launchers cannot be editted Fixed: Plugin hangs while executing test with dataprovider that sends \n, \r messages Added: display ITest.getTestName() IDEA plug-in Fixed: IDEA 7.0 compatibility Fixed: occasional 'illegal arguments exception' Fixed: TESTNG-151 Final passing test result is not properly hidden Added: Auto-completion for dependsOnMethods Added: Highlighting of invalid groups/methods in dependsOn* =========================================================================== 5.5 2007/01/25 Fixed: @BeforeGroup methods were run twice when in a base class Fixed: @BeforeGroup methods were run twice with a @Test at class level Fixed: parallel="tests" didn't work as advertised Added: Support for thread-count at test level Added: Method selectors receive a Context and can stop the chain with setStopped() Fixed: XmlMethodSelector was always run first regardless of its priority Added: @BeforeGroups/@AfterGroups can live in classes without @Test methods Added: DataProvider can now take an ITestContext parameter Fixed: Wasn't parsing correctly Fixed: Annotation Transformers now work on class-level annotations Fixed: Some class-level @Test attributes were not always honored Added: Clean separation between @Test invocation events and @Configuration invocation events (see also TESTNG-111) Added: Test instances created by @Factory now run in multiple threads in parallel mode Fixed: @Before/@AfterGroups invocation order Fixed: TESTNG-27: Parameters are not used on level anymore Fixed: TESTNG-107 don't create an output directory if "outputDirectory" is null Fixed: TESTNG-127 UseDefaultListeners in Ant Task does not work Fixed: TESTNG-119 Running TestNG runner with invalid '-sourcedir' on JDK14 JavaDoc annotated test classes won't fail. Fixed: TESTNG-113 Dependent methods within the same static inner class are not found Fixed: TESTNG-125 TestNG failed for test classes under *.java*.* pakages Eclipse plug-in Fixed: issue with launch configuration Fixed: TESTNG-124: setting location of testng reports output =========================================================================== 5.4 Fixed: Ant task issue with paths containing spaces Added: for @BeforeGroups and @AfterGroups specifying the groups() attribute will auto-include the method into those groups by default (previously you had to also provide the value() attribute). Added: the load @Tests (invocationCount + threadPoolSize) are triggered simultaneous Fixed: reports are correctly displaying the thread info Added: @DataProvider name defaults to method name Added: support for remote protocol to pass parameter information Fixed: TextReporter logs information about the parameters of the test methods Fixed: concurrency issue in JUnitXMLReporter Fixed: output of JUnitXMLReporter must be CDATA Fixed: XML unsupported annotations/parallel attribute values are reported Eclipse plug-in Fixed: groups with multi-attribute javadoc annotations Fixed: consistent behavior for dependsOnMethods Fixed: consistent behavior for tests with dependsOnGroups (a warning is emitted) Fixed: consistent merge of configuration arguments when an existing launch configuration exists =========================================================================== 5.3 2006/10/30 Fixed: use a single instance of bsh.Interpreter Added: @Before/@AfterMethod can declare a java.lang.reflect.Method parameter to be informed about the @Test method Fixed: super classes must not be listed in testng-failures.xml Fixed: parallel attribute must not appear if empty or null in testng-failures.xml Fixed: parsing for javadoc annotations is done on request only Added: improved multiple suite summary page report Added: -target option deprecated in favor of -annotations javadoc|jdk Fixed: filesets in the ant task didn't work if the paths have spaces in them Fixed: Before/After Suite were behaving wrong in parallel execution Added: A generic/extensible RemoteTestNG was added to the core Fixed: Before/AfterGroup-s were behaving wrong when using invocationCount, dataProvider and threadPoolSize Fixed: improved support for running different annotation type tests in the same suite Fixed: testng-failed.xml was generated even if there were no failures/skipps Fixed: -usedefaultlisteners was wrongly passed to JVM instead of TestNG options Added: Attribute dataProviderClass for @Test and @testng.test Fixed: Forgot to account for cases where both invocationCount and DataProviders are present Fixed: AfterGroups were invoked out of order with invocationCount and DataProviders Fixed: Reporter.getOutput() returned an empty array if a timeOut was specified Added: testng.xml now supports Added: ant task can receive several listeners Fixed: TESTNG-109 Skipped tests with expected exceptions are reported as failures Added: ant task can now select the parallel mode for running tests Fixed: ant task correctly deals with empty groups and excludedgroups parameters Added: ant task can override default suite and test names Added: comand line support for setting parallel mode, suite and test names Eclipse plug-in Added: Support for configuring per project usedefaultlisteners Added: Contextual drop-down menu on failures tab of the TestNG view to enable running/debugging method failure only Added: Suppport for configuring per project TestNG jar usage (project provided one or plugin provided one) =========================================================================== 5.2 Added: "-usedefaultlisteners true/false" to command line and ant Added: EmailableReporter (from Paul Mendelson) Added: parallel can now be "methods" or "tests". Boolean version deprecated Added: TestNGAntTask now uses the @ syntax to invoke TestNG Added: Command line understands @ syntax Added: JUnitConverter uses the new syntax Added: -groups to JUnitConverter Fixed: Throw proper exception when a DataProvider declares parameters Added: completely revamped JUnit support (should run all kind of JUnit tests) Fixed: TESTNG-40 (Bug in testng-failed.xml generation) Fixed: TESTNG-106 (Failed "@BeforeSuite" method just skipps the last test in xml-file) Fixed: Success on 0 tests (http://forums.opensymphony.com/thread.jspa?threadID=41213) Eclipse plug-in Added: TESTNG-105 Automaticaly define TESTNG_HOME classpath variable =========================================================================== 5.1 2006/08/18 Added: @Test(sequential = true) Fixed: TESTNG-102 (Incorrect ordering of @BeforeMethod calls when a dependency is specified) Fixed: TESTNG-101 (HTML output contains nested

tags and a missing tag) Added: support for specifying test-only classpath (http://forums.opensymphony.com/thread.jspa?messageID=78048&tstart=0) Fixed: TESTNG-93 (method selectors filtering @BeforeMethod) Fixed: TESTNG-81 (Assert.assertFalse() displays wrong expected, actual value) Fixed: TESTNG-59 (multiple method selectors usage results in no tests run) Fixed: TESTNG-56 (invocation of @Before/AfterClass methods in parallel/sequential scenarios) Fixed: TESTNG-40 (failures suite does not contain @Before/After Suite/Test methods) Fixed: TESTNG-37 (allow passing null parameter value from testng.xml) Fixed: TESTNG-7 (display classname when hovering method) Eclipse plug-in Added: run contextual test classes with parameters from suite definition files Added: TESTNG-100 (Show HTML reports after running tests) Added: TESTNG-97 (Double click top stack to raise comparison) Added: TESTNG-84 (plug-in UI for suite option should support absolute path) Added: TESTNG-20 (copy stack trace) Fixed: TESTNG-72 (display groups with non-array values) Fixed: TESTNG-64 (Eclipse plug-in applies added groups to all launch configurations) Fixed: TESTNG-28 (Cannot select groups from dependent eclipse projects) Fixed: TESTNG-25 (do not display fully qualified method name when running contextual test class) Improved behavior: TESTNG-98 (temporary files have guaranteed fixed names) TESTNG-95 (Assertion failed comparison trims trailing ">") TESTNG-70 (TestNG prevents eclipse from opening an older CVS version of a java class) display of test hierarchy information (TESTNG-29) =========================================================================== 5.0.1 Eclipse plug-in Added: Output directory for the tests Added: Can now specify listener classes =========================================================================== 5.0.1 Fixed: reports generated by SuiteHTMLReporter do not work with JDK1.4 =========================================================================== 5.0 2009/04/01 Added: Ant task: support for JVM, workingDir, timeout Added: Stack traces can be interactively shown in the HTML reports Added: Link to testng.xml in the reports Added: New structure for reports, suites go in their individual directory Added: @Test(suiteName) and @Test(testName) Added: The stack traces in reports do not include TestNG frames (system property testng.exception) (see: http://groups.google.com/group/testng-dev/browse_thread/thread/9f4d46ade10b0fda) Fixed: Exit with error when no methods are run (see: http://groups.google.com/group/testng-dev/browse_thread/thread/3c26e8a5658f22ac) Added: List of methods in alphabetical order Fixed: Class-scoped annotations were not recognized when inherited Added: Deprecated @Configuration and introduced @BeforeSuite/Test/Class/TestMethod Added: Deprecated @ExpectedExceptions and moved it into @Test Added: expectedExceptions to @Test, deprecated @ExpectedExceptions Added: New annotations: @BeforeSuite, @BeforeTest, etc... Fixed: Was returning an exit code of 0 if a cyclic graph was detected Added: Interface org.testng.ITest so that tests can declare a name Fixed: The Text reporter was reporting the square of the actual number of methods Fixed: Bug reported by Eran about dependencies with an afterClass method Added: IHookCallBack now receives the ITestResult in its run() method Added: Name of suite for command line can be set with -Dtestng.suite.name=xxx Fixed: TestNGAntTask was hardcoding m_haltOnFSP to true Fixed: Passing a null parameter caused an NPE in the reports Added: "listener" to the ant task (and documentation) Added: if patch-testng-sourcedir.properties is found in the classpath with a property "sourcedir" containing a ; separated list of directories, this list will override -sourcedir. =========================================================================== 4.7 Added: Maven 2 plug-in Fixed: Message formattings in TestNG assertion utility class Fixed: @Factory methods were counted as @Test as well http://jira.opensymphony.com/browse/TESTNG-51 Fixed: All DataProvider parameters were shown in the HTML report Fixed: Bug in testng-failed.xml generation Fixed: bug when using a jar file to load the test classes Added: alwaysRun for before @Configuration methods http://jira.opensymphony.com/browse/TESTNG-35 Fixed: groupless @Configurations were not invoked if a method depends on a group http://jira.opensymphony.com/browse/TESTNG-45 Added: beforeGroups/afterGroups to @Configuration Eclipse plugin: Added: last contextual launch is available in Eclipse launcher lists Fixed: 3.2M5 integration (removed dependency on non-existing class) Fixed: testng-failures.xml generation =========================================================================== 4.6 2006/27/02 Added: Documentation contains the new reports Added: TestNG.setUseDefaultListeners(boolean) Added: Descriptions now appear in TextReporter (verbose>=2) and the HTML reports Added: description attribute to @Test and @Configuration Added: combined Reporter output in the reports Added: methods not run in the reports Added: org.testng.IReporter Added: threadPoolSize to @Test Added: Reports now show relative timings (start at 0) Added: Reports now show different colors depending on the methods' classes Added: Reports now show all parameters used to invoke the test method Added: org.testng.Reporter Added: DataProviders can accept a Method as first parameter Fixed: Extraneous implicit inclusion of a method Eclipse plugin: Added: Run/Debug as TestNG test from the editor contextual menu Fixed: TESTNG-24: 'Run as testng test' does not appear of the Test annotation does not have a group Fixed: TESTNG-18: Eclipse plugin ignores Factory annotation Fixed: TESTNG-21: Show differences when double clicking assertion exceptions Added: UI allows setting orientation (even more space) http://forums.opensymphony.com/thread.jspa?threadID=17225&messageID=33805#33805 =========================================================================== 4.5 2007/07/02 Core: Fixed: Methods were not implicitly included, only groups Fixed: Bug with failed parent @Configuration don't skip child @Configuration/@Test invocations Fixed: Bug with overridding @Configuration methods (both parent and child were run) Fixed: Bug when overriding beforeClass methods in base class (cyclic graph) Added: Support for JAAS (see org.testng.IHookable) Fixed: Problem with nested classes inside Fixed: ArrayIndexOutOfBoundsException for jMock Added: dependsOnMethods can contain methods from another class Fixed: JUnitConverter required -restore, not any more (option is now a no-op) Fixed: JUnit mode wasn't invoking setName() on test classes Added: Regular expressions for classes in Added: Distributed TestNG Fixed: Command line parameters and testng.xml are now cumulative Fixed: Reports now work for multiple suites Fixed: Was ignoring abstract classes even if they have non-abstract instances Fixed: If setUp() failed, methods were not skipped Fixed: Was not clearly indicating when beforeSuite fails Added: @Configuration.inheritGroups Fixed: inconsistency between testng.xml and objects regarding method selectors Eclipse plug-in: New look for the progress view. =========================================================================== 4.4 Core: Fixed: testng-failures.xml was not excluding methods from base classes Fixed: Bug in suites of suites for JUnit mode =========================================================================== 4.3 Core: Fixed: testng-failures.xml was not excluding methods from base classes Fixed: Bug in suites of suites for JUnit mode Added: Excluded groups on command line and ant task Fixed: When including a group, implicitly include groups depended upon Fixed: When depending on several groups, wasn't skipped if one of them failed Fixed: Failures weren't reported accurately in the JUnitReports report Fixed: Wasn't throwing an exception if depending on a non-existing group =========================================================================== 4.2 Core: Fixed: wasn't excluding methods in base classes Added: alwaysRun for tests (soft dependencies) Fixed: Class-level enabled=false were not honored Fixed: Bug with multiple dataproviders on same class Fixed: Bug with dataprovider defined in the parent class Fixed: Bug with dataprovider defined in a subclass Fixed: Bug with dataprovider defined in an abstract class Fixed: testng-failures generation was excluding the methods even if a failed test depended on it =========================================================================== 4.1 Core: Added: @DataProviders can return Iterable Fixed: Superclass test methods were not called in the presence of a class @Test Added: Reporter class to log messages in the HTML reports =========================================================================== 4.0 2005/11/10 Core: Fixed: suite methods now invoked only once in a hierarchy Added: @DataProvider and @testng.data-provider Fixed: Interleave order now respected for before/afterClass methods Added: Can now invoke java -jar testng-2.6.jar <...> Added: Support for BeanShell Added: Method Selectors (IMethodSelector) Fixed: In the absence of dependencies, @Configuration methods respect inheritance Fixed: Bug in multithreaded dependencies on methods Fixed: dependsOnGroups wasn't working on regular expressions Fixed: Bug in when directories contain spaces in their names Fixed: Introduced a JDK5 dependency in the JDK1.4 build (getEnclosingClass()) Fixed: Output directory in ant task was not honored if it didn't exist Fixed: Problem with timeout according to http://forums.opensymphony.com/thread.jspa?threadID=6707 Eclipse plug-in: Fixed: Wasn't handling linked directories correctly Fixed: Bug in QuickFix implementation Added: Quick Fix for JUnit conversion (Annotations and JavaDoc) Fixed: Methods Run as TestNG test Added: Package level Run as TestNG test Fixed: Resources from the linked directories are using a wrong path when passed to command line TestNG IDEA plug-in: Added: Support for JDK 1.4 (both projects and IDEA itself) Fixed: Classes that contained only configuration were ignored =========================================================================== 2.5 2005/08/08 Added: ITestListener.onTestStart(ITestResult) Added: Support for Added: Resource files for easier ant taskdefs Fixed: @Configuration methods were not invoked with individual test methods Fixed: Bug with ExpectedExceptions Fixed: Didn't support nested factory classes Fixed: NPE if -target is omitted with JDK 1.4 Fixed: @Configuration failures in a class would cause other classes to fail Added: alwaysRun Fixed: beforeTestClass/afterTestClass were broken for a pathological case Added: @Configuration(alwaysRun) Added: JUnitConverter task Fixed: < and > characters in reports were not escaped Eclipse plug-in: Fixed: Class dialog wasn't showing @Factory classes IDEA plug-in: First release! Documentation: Added: Brand new look!!! Added: Section on testng.xml Fixed: Numbering of sections =========================================================================== 2.4 2005/07/05 Changed: New package: testng.org Fixed: Bug with @ExpectedException occuring the parallel mode Fixed: Bug with parameters and beforeTest Added: IInstanceInfo support Fixed: methods were not excluded when included by groups Fixed: testng-failures.xml is now including also the beforeSuite/afterSuite methods Fixed: generating the testng-failures.xml is now working as expected Fixed: Factories call all the tests even if some of them fail along the way Fixed: Better JUnit support (wasn't creating individual instances) Fixed: dependsOnGroups didn't work across different classes Added: command line (and Ant) -groups option Added: @Parameters (and made parameters attribute deprecated) Added: Parameters for constructors Fixed: Better interleaving of before/afterTestMethods Fixed: Ant task Fixed: TestNGException thrown when TestNG conditions are not fulfilled Documentation: - New assert classes - New ways to launch - JUnitConverter documentation - new beforeSuite/afterSuite =========================================================================== 2.3 2005/04/12 Fixed: Spaces are now legal in JavaDoc comments Added: documentation for @Factory Fixed: factories were called multiple times Added: beforeSuite and afterSuite Fixed: inheritance and scope now working properly for annotations Fixed: dependsOnMethods wasn't working for 1.4 Added: Better stack traces Added: Better syntax for included/excluded methods Fixed: Better verbose support Fixed: Various fixes for the Eclipse plug-in Added: Can specify a class name on the command line Fixed: Default package bug in JUnitConverter Added: Regression tests for JUnitConverter Added: -quiet option to JUnitConverter =========================================================================== 2.2 Fixed: Wasn't handling several testng.xml files correctly Fixed: Renamed -src to -sourcedir Fixed: Complains if no sourcedir is specified in 1.4 Added: In 1.4, don't require annotations="javadoc" Fixed: If setUp fails, complain and mark test methods as skips Fixed: Dependent methods weren't working for 1.4 =========================================================================== 2.1 2005/02/12 Added: Parser can accept an InputStream for testng.xml Fixed: expected-exceptions now fails if test passes Fixed: reports now use the suite name in HTML Added: invocationCount and successPercentage Added: dependsOnMethods Added: timeOut works in non-parallel mode =========================================================================== 2.0 2004/12/06 Added: port on JDK 1.4 =========================================================================== 1.3 Added: new view: classes (still experimental) Added: timeout on methods Added: thread-count Added: TestNG is now multithread, see "parallel" in =========================================================================== 1.2 Added: JUnitConverter Fixed: Bug with afterClasses (test: AfterClassCalledAtTheEnd) =========================================================================== 1.1 Added: new links for methods and groups in the HTML report Added: Added: to =========================================================================== 1.0 2004/04/28 http://beust.com/weblog/2004/04/28/ Fixed: Updated to the new DTD Fixed: Suite table of contents displays failures first Fixed: Bug in afterTestClass Added: Validating testng.xml Added: Scoped parameters Added: testng.xml Removed: Property quiet Changed: Verbose is now an integer Added: Dependent methods =========================================================================== 0.9 Added: Groups of groups Added: Groups for Configuration methods Added: Parameters =========================================================================== 0.2 Fixed: Merged TestMethod and TestClass into Test Added: HTML report Added: Regexps for groups Fixed: Inheritance of methods Fixed: ExpectedException is now called ExpectedExceptions