You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1260 lines
61 KiB
1260 lines
61 KiB
Current
|
|
Fixed: GITHUB-841: testName from @Test is now used and available from ITestResult#getName() and ITestResult#getTestName() (Julien Herr)
|
|
New: GITHUB-776: Add BeforeClass/AfterClass like on ITestListener (@vguna & Julien Herr)
|
|
Fixed: GITHUB-872: Enable end-users of TestNG to alter XmlSuite and XmlTest (Krishnan Mahadevan)
|
|
New: GITHUB-900: Support @Listeners in annotation transformer (Julien Herr)
|
|
New: GITHUB-898: Activate XML validation when possible (Julien Herr)
|
|
Fixed: GITHUB-889: XmlSuite in nested directories results in FIleNotFoundException (Virender Singh)
|
|
Fixed: GITHUB-811: Timeout is not working with parallel=tests (@michael-yxf & Julien Herr)
|
|
Fixed: GITHUB-839: Missing encoding meta data for report file (@banbq & Julien Herr)
|
|
Fixed: GITHUB-876: NullPointerException creating tests with parameters by a factory (@vixgeo & Julien Herr)
|
|
New: GITHUB-886: Add some checks on factory methods (Julien Herr)
|
|
New: GITHUB-874 / GITHUB-875 / GITHUB-882 / GITHUB-850 : Some code cleanup (Testo Nakada)
|
|
Fixed: GITHUB-866 / GITHUB-869 : Some attributes were not cloned when XmlSuite#clone was used (Virender Singh)
|
|
Fixed: GITHUB-842: Add TestResult#getTestName() support for @Test(testName) (Julien Herr)
|
|
|
|
6.9.9:
|
|
2015/10/27
|
|
|
|
Fixed: GITHUB-829: Allowing suites to have duplicate names. You can now configure the same suite-file to run multiple times. (Eduardo Born)
|
|
Fixed: GITHUB-834: nested suites not supported by 'testnames' (Tibor Digana & Julien Herr)
|
|
|
|
6.9.8:
|
|
2015/10/12
|
|
|
|
Replace 6.9.7 that was build with Java8 by error.
|
|
|
|
6.9.7:
|
|
No official release
|
|
|
|
Fixed: GITHUB-798: Set suitethreadpoolsize for Maven Surefire (Jan Dundáček)
|
|
Fixed: GITHUB-171: ISuiteListener methods called multiple times if multiple test elements (Daniel Qian & Julien Herr)
|
|
Fixed: GITHUB-169: IInvokedMethodListener methods executed several times before/after each test method (Mario Duarte & Julien Herr)
|
|
Fixed: GITHUB-154: MethodInterceptor will be called twice (Tim wu & Julien Herr)
|
|
|
|
6.9.6:
|
|
2015/07/15
|
|
|
|
New: GITHUB-717: Add assertThrows and expectThrows (Ryan Schmitt)
|
|
Fixed: GITHUB-755: Fixed reporting of retried tests (Ryan Schmitt)
|
|
Fixed: GITHUB-773: Test should not be skipped when the exception is expected (@CandyLiuM & Julien Herr)
|
|
|
|
6.9.5:
|
|
2015/07/12
|
|
|
|
Fixed: The ServiceLoaderTest on Windows (Mathieu Sebire)
|
|
Fixed: GITHUB-691: Fix classloading issue when using TestNG 6.9.4 and JMockit. (Mathieu Sebire)
|
|
Fixed: GITHUB-686: IAnnotationTransformer.transform is called for methods with testClass populated. (Łukasz Rekucki & Julien Herr)
|
|
Fixed: GITHUB-420: Before/AfterSuite methods may not run, when use inheritance, and enabled=false (Jakub Tokaj & Julien Herr)
|
|
Fixed: GITHUB-697: Make addFailedInvocationNumber thread-safe (Ryan Schmitt)
|
|
Fixed: GITHUB-698: Fix exit code reporting when IRetryAnalyzer is used (Ryan Schmitt)
|
|
Fixed: GITHUB-465: assertEquals(Collection, Collection) prints "null" when collections are different sizes (Michael Diamond)
|
|
New: GITHUB-710: AppVeyor is used for continuous integration on Windows (Julien Herr)
|
|
Fixed: GITHUB-599: IHookable ignored when a timeout is set (@ryanlevell & Julien Herr)
|
|
New: GITHUB-723: Allow users to add their own suite parser (Julien Herr)
|
|
Fixed: Allow '-testnames' option to work with '-xmlpathinjar' (@earthling)
|
|
Fixed: GITHUB-739: TestNG skips all test classes from suite when a @BeforeClass fails (Priyanshu Shekhar & Julien Herr)
|
|
Fixed: GITHUB-471: If @beforeMethod or @afterMethod fails then all children of the same base class will be skipped (Anton Panferov & Julien Herr)
|
|
Fixed: GITHUB-595: testng hang at switching test cases when running test cases with high thread count (vit0rg)
|
|
|
|
Eclipse:
|
|
|
|
Fixed: The 57% freeze bug (Patrick Hensley and @denyska)
|
|
|
|
6.9.4:
|
|
2015/05/09
|
|
|
|
Added: GITHUB-631: Avoid the static limitation of external DataProvider. (Julien Herr)
|
|
Added: GITHUB-631: Allow to use Guice injection in DataProvider. (Julien Herr)
|
|
Added: Drop support of Java6 and previous.
|
|
Added: GITHUB-617: Allow injection of org.testng.ITestContext into the guice parent module. (Julien Herr)
|
|
Fixed: GITHUB-606: RetryAnalyzer loops endlessly. (Krishnan Mahadevan)
|
|
Fixed: GITHUB-618: Start TestNG from jar cause recursive run of tests from packages in Suite XML without ".*" on the end (Stas Gromov)
|
|
Fixed: GITHUB-639: Typo on preserveOrder (tabei-k & Julien Herr)
|
|
Fixed: GITHUB-632: Typo in doc (Pétur Ingi Egilsson & Julien Herr)
|
|
Fixed: GITHUB-629: InvokedMethod doesn't recognize configuration method (Jan Mewes & Julien Herr)
|
|
Fixed: GITHUB-615: XmlSuite, XmlTest: Time-out tag not preserved (jphollingworth & Julien Herr)
|
|
New: GITHUB-638: Travis CI is used for continuous integration (Julien Herr)
|
|
New: GITHUB-647: SonarQube is used to follow technical debt (Julien Herr)
|
|
Added: GITHUB-616: org.testng.internal.Version will be always up-to-date (Julien Herr)
|
|
Fixed: GITHUB-634: Review of the collections package (Julien Herr)
|
|
Fixed: GITHUB-624: Fixed failure/error inversion in JUnitReportReporter (Jerome Jacob)
|
|
Fixed: GITHUB-545: TestNG running JUnit tests but not reporting all results for parameterized tests (Jonathan Leitschuh & jdillet)
|
|
Fixed: GITHUB-610: CustomizedSuites must be saved using utf-8 encoding (Juha Heljoranta)
|
|
Fixed: GITHUB-602: NoClassDefFoundError in TestNGClassFinder.<init> (aanno)
|
|
Fixed: GITHUB-529: Close InputStream and OuputStream after use (Andrew Gaul)
|
|
Fixed: GITHUB-532: Create the parent directory if it's missing (Ion Savin)
|
|
Fixed: GITHUB-541: Some OSGi manifest fixes (Evgeny Zhuravlev)
|
|
Fixed: GITHUB-657: Fix OSGI Import-Package to make jUnit4 dependency optional (Xavier Fournet)
|
|
Fixed: GITHUB-523: externally synchronize our use of the static SimpleDateFormat (mcosby)
|
|
Fixed: GITHUB-477: Typo in DTD attribute comment (Kamil Szymański)
|
|
Fixed: GITHUB-353: Typo in documentation (Jan Święcki)
|
|
Fixed: GITHUB-656: Upgrade to JCommander 1.48 (Ryan Schmitt)
|
|
Fixed: GITHUB-582: TestNG tests don't pass reliably on JDK8 (Ryan Schmitt)
|
|
New: GITHUB-645: TestNG project on Google Code redirect to GitHub
|
|
Fixed: GITHUB-310: Upgrade Guice (kronar & Julien Herr)
|
|
Fixed: GITHUB-87: @BeforeSuite/@BeforeTest methods happens to be disabled by mistake (romlom & Julien Herr)
|
|
Fixed: GITHUB-425: Wrong invocation order with lastTimeOnly (Rafael Winterhalter & Julien Herr)
|
|
Fixed: GITHUB-417: Expected Exceptions Message fails to match multi-line messages (Michael Diamond)
|
|
New: GITHUB-663: Add Guice Stage configuration for a suite (Clément Guillaume)
|
|
|
|
6.8.21:
|
|
2015/02/02
|
|
|
|
6.8.15:
|
|
2015/01/14
|
|
|
|
Fixed: OutOfMemoryException while generating reports.
|
|
Fixed: GITHUB-566: Build does not fail when successPercentage for @Test is not met
|
|
Fixed: XmlTest#setGroupInstances was not being shown in toXml().
|
|
Fixed: GITHUB-376: Some results can be lost (Konstantin Savin).
|
|
Fixed: Handle relative paths of Suite XML files properly (Nalin Makar)
|
|
|
|
6.8.5:
|
|
2013/05/13
|
|
|
|
Fixed: the OutOfMemoryException in reports
|
|
Fixed: Surefire + listeners "Can't load class" problem
|
|
|
|
===========================================================================
|
|
6.8.1
|
|
2013/03/30
|
|
|
|
Added: Descriptions in the HTML reports
|
|
Added: Various improvements to EmailableReporter (Abraham Lin)
|
|
Added: Allow injection of java.lang.reflect.Constructor and org.testng.ITestNGMethod into DataProvide (Vladislav Rassokhin)
|
|
Fixed: Assertions in the Assertions class were not failing properly.
|
|
Fixed: GITHUB-337: ConfigurationMethod#m_instance set to Boolean.FALSE due to incorrect constructor call in clone() + auto-boxing (davidely)
|
|
Fixed: Fix NPE for dependency methods/groups (Krishnan Mahadevan)
|
|
Fixed: preserve-order bug (found by VladSarrokhin).
|
|
Fixed: GITHUB-300: OutOfMemoryException from reporters when there are a lot of tests
|
|
Fixed: GITHUB-137: Main parameters with a default value should be overridden if a main parameter is specified
|
|
Fixed: GITHUB-107: Allow enum values without converting them to uppercase.
|
|
Fixed: @Guice with no modules specified is now supported
|
|
Fixed: Reporter.log() invoked from listeners were being discarded
|
|
|
|
Eclipse:
|
|
Added: Predefined listeners (Tim Wu)
|
|
Fixed: Compare dialog
|
|
|
|
===========================================================================
|
|
6.7
|
|
2012/07/15
|
|
|
|
Added: Big performance improvement when generating the reports (Frank Pavageau)
|
|
Added: <dependencies> allows you to specify group dependencies in testng.xml
|
|
Added: Blow up early if trying to include/exclude an unknown method
|
|
Added: <parameters> can now be specified under <include> (Storm Qi)
|
|
Added: GITHUB-243: Add Reporter Output per Test in XMLReporter (dunse)
|
|
Fixed: Better HTML escaping of the stack traces
|
|
Fixed: The failed assertions now use [] as delimiters instead of <> (better for the HTML reports)
|
|
Fixed: GITHUB-237: Wrong time format in XML reporter
|
|
Fixed: Threads were started sequentially instead of being interleaved
|
|
Fixed: dataProvider(parallel = true) was not killing its threads properly
|
|
Fixed: XmlSuite#toXml wasn't outputting the <groups> tag correctly
|
|
Fixed: testng-failed.xml was not carrying over the parameters from the original testng.xml
|
|
Fixed: BeforeClass failing in parent failed to skip methods in sub classes
|
|
Fixed: Better error message if <suite name=""> is missing
|
|
Fixed: GITHUB-221: Honor excludeGroups on testng tests when run in mixed mode (criccio)
|
|
Fixed: dependsOnGroups = {regexp} wasn't working properly (Alistair Ward)
|
|
Fixed: GITHUB-205: white-space was spelled whitespace in testng.css (carlin-scott)
|
|
|
|
Eclipse:
|
|
Fixed: Environment is not transferred when rerunning failed tests.
|
|
Fixed: Rerunning failed tests will preserve the environment of the original launch
|
|
|
|
===========================================================================
|
|
|
|
6.5.1
|
|
04/10/2012
|
|
|
|
Added: <suite allow-return-values="true"> (and in <test> as well)
|
|
Added: data-provider attribute to testng-results.xml
|
|
Added: Reporter display the results in the same order as test methods (Libor Zoubek)
|
|
Added: Support for running JUnit 4 tests (Lukas Jungmann)
|
|
Added: Ability to auto-detect JUnit tests ('-mixed' mode) (Lukas Jungmann)
|
|
Added: Support for ResourceCollections in an Ant tasks (requires Ant >= 1.7.0) (Lukas Jungmann)
|
|
Fixed: GITHUB-198: JUnitReportsReporter use commas in certain locales, which JUnitReports doesn't like
|
|
Fixed: GITHUB-173: Dependent methods executed out-of-order if method names match across classes (jjedMoriAnktah)
|
|
Fixed: ThreadLocal<ITestResult> leak (aslakknutsen)
|
|
Fixed: In the HTML reports, only show the first 100 characters of the parameters
|
|
Fixed: SkippedException are considered as real exception with @Test(expectedExceptions)
|
|
|
|
Eclipse:
|
|
Fixed: Java constants are properly resolved if they are used as group names (susanin)
|
|
Fixed: @Test(groups = Foo.CONSTANT) (susanin)
|
|
Fixed: Failed tests with allow-return-values="true" were not rerun
|
|
Added: <suite allow-return-values="true"> (and in <test> as well)
|
|
|
|
===========================================================================
|
|
|
|
6.4:
|
|
02/15/2012
|
|
|
|
Added: @DataProvider(indices) to return specific indices of a data provider
|
|
Added: New HTML reports
|
|
Added: configfailurepolicy=continue with DataProviders (toddq)
|
|
Added: ITestResult#getTestContext (bpedman)
|
|
Fixed: invocationCount > 1 + timeOut wasn't timing out properly
|
|
Fixed: When running TestNG programmatically, child xml suites are not run (when added using setSuiteFIles()) (Gaurav Gupta)
|
|
Fixed: GITHUB-145: Excessive test method execution (githubCast)
|
|
Fixed: GITHUB-149: reversed arguments in failAssertEqualsNoOrder().
|
|
Fixed: EmailableReporter: methods are now *really* sorted chronologically.
|
|
|
|
Eclipse:
|
|
|
|
Added: You can now add the testng.jar sources as a library (Nick Tan)
|
|
Added: Upgraded the plug-in to 3.4+ (Nick Tan)
|
|
Added: dependsOnGroups now fully supported
|
|
Fixed: @Parameters now works with both ("foo") and ({"foo"}) (davekerber)
|
|
|
|
===========================================================================
|
|
6.3.1
|
|
10/22/2011
|
|
|
|
Added: New system property: dataproviderthreadcount (Bill Ross)
|
|
Fixed: Configuration methods were reported incorrectly in listeners.
|
|
Fixed: Was creating too many listeners (Jacek Pulut)
|
|
Fixed: IAnnotationTransformer2 beforeTest/afterTest booleans were not being set
|
|
Fixed: GITHUB-92: @BeforeTest method in a super class will be called multiple time when alwayRun = true (Bubuntux)
|
|
Fixed: GITHUB-111: @AfterClass on base classes run once too many (lrivera)
|
|
Fixed: GITHUB-107: Displaying 0 tests run if a listener modifies the parameters of the suite
|
|
|
|
===========================================================================
|
|
6.3
|
|
10/17/2011
|
|
|
|
Added: "description" attribute on <include>, made available on ITestNGMethod#getDescription
|
|
Added: RemoteTestNG waits infinitely for a connection (Aleksey Kabanov)
|
|
Fixed: A method that's both a test and a factory would not invoke its data provider
|
|
Fixed: @AfterClass was not called if one of the methods was not enabled (Aleksey Kabanov)
|
|
Fixed: Groovy access bug
|
|
Fixed: The XML parser doesn't recognize parallel="instances"
|
|
Fixed: NPE when using inner classes
|
|
Fixed: GITHUB-90: @AfterClass not being run when the class contains included and not included methods
|
|
Fixed: @AfterClass not being run in some subclassing situations
|
|
|
|
Eclipse:
|
|
|
|
Fixed: Verbose levels specified in suites not respected
|
|
Fixed: Variable substitution in VM arguments is not working properly (svenhoff)
|
|
|
|
===========================================================================
|
|
|
|
6.2
|
|
08/18/2011
|
|
|
|
Added: xmlpathinjar to the TestNG ant task
|
|
Added: TestNG can now invoke package protected constructors
|
|
Added: Injectors created by the @Guice annotation are now shared at the <test> level
|
|
Added: IConfigurationListener is now a public listener, along with a new one: IConfigurationListener2
|
|
Added: When a method fails, only dependents of the same instance will be skipped
|
|
Added: parallel=instances for factory instance parallel runs
|
|
Added: @Factory(enabled)
|
|
Fixed: JUnitReports reports now report the cumulated time @{Before,After}Method+@Test for each test method
|
|
Fixed: JUnitReports reports have the name of the <test> instead of that of the first class
|
|
Fixed: Using preserve-order with a factory that creates instances of a different class causes NPE
|
|
Fixed: GITHUB-74: Bad ordering of test methods when using a @Factory constructor with dataProvider
|
|
Fixed: Changing the test result from success to failure in a listener would still count the test as a success
|
|
Fixed: ServiceLoader wasn't resolving correctly if no service loader classloader was specified
|
|
Fixed: Better ordering with mixed priorities and dependencies
|
|
Fixed: Improved detection of graph cycles in parallel runs
|
|
Fixed: @BeforeTest was invoked multiple times if a factory is used
|
|
Fixed: GITHUB-57: Allow usage of package protected constructor of test classes
|
|
Fixed: Injecting both Object[] and Method in @BeforeMethod didn't always work
|
|
Fixed: testng-results.xml now lists the results chronologically
|
|
Fixed: @Listeners specified on a base class will only be run once per listener class (dbriones)
|
|
Fixed: -groups and -excludegroups were no longer overriding testng.xml
|
|
|
|
Eclipse:
|
|
|
|
Added: Each data provider method now has a separate node entry in the TestNG view
|
|
Fixed: Nodes in error would sometimes remain green
|
|
Fixed: The TestNG context menu no longer appears where it shouldn't
|
|
|
|
===========================================================================
|
|
|
|
6.1.1
|
|
7/5/2011
|
|
|
|
Fixed: https://github.com/cbeust/testng/issues/56 testng-results.xml was reporting the instance name instead of the method name
|
|
Fixed: NPE when using preserve-order and factories.
|
|
Fixed: Depending on a skipped method would not cause a method to be skipped
|
|
|
|
===========================================================================
|
|
|
|
6.1
|
|
6/30/2011
|
|
|
|
Possible backward incompatible changes:
|
|
|
|
- Don't mutate the value returned by XmlTest#getIncludedGroups and XmlTest#getExcludedGroups.
|
|
Instead, use addIncludedGroup/addExcludedGroup.
|
|
- Failing methods that have dependees will only cause skips in the same instance. Different
|
|
test instances will not be affected
|
|
|
|
Added: Support for ServiceLoader for ITestNGListener
|
|
Added: @Factory(dataProvider / dataProviderClass) on constructors
|
|
Added: assertNotEquals() to Assert
|
|
Added: assertArrayEquals() to AssertJUnit
|
|
Added: Nested classes are now automatically added for consideration for inclusion
|
|
Added: <suite preserve-order="true"> will cause this attribute to be propagated to all <test> tags
|
|
Added: <groups> can now be specified under a <suite>
|
|
Added: Tycho compatibility (Aleksander Pohl)
|
|
Added: New <test> and <suite> flag: group-by-instances
|
|
Added: -xmlpathinjar to specify the path of testng.xml inside a test jar file
|
|
Added: ISuite#getAllMethods, to retrieve all the methods at the start of a suite.
|
|
Added: Output ITestResult attributes in xml report (nguillaumin)
|
|
Fixed: Thread safety problem in MethodInvocationHelper (Baron Roberts)
|
|
Fixed: Group dependencies were not being skipped properly.
|
|
Fixed: Dependency failures only impact the same instance
|
|
Fixed: Static classes could cause a StackOverFlowError
|
|
Fixed: IConfigurationListener was not extending ITestNGListener
|
|
Fixed: IConfigurationListener#onConfigurationFailure was never called
|
|
Fixed: TESTNG-476: <test> tags are now run in the order found in testng.xml
|
|
Fixed: Now showing failed/skipped error messages on the console for verbose >= 2
|
|
Fixed: ITestResult#getEndMillis() return 0
|
|
Fixed: TESTNG-410: Clearer error message
|
|
Fixed: TESTNG-475: @DataProvider doesn't support varargs
|
|
Fixed: Performance problems in EmailableReporter
|
|
Fixed: TESTNG-472: Better output for assertNull()
|
|
Fixed: ConcurrentModificationException when using parallel data providers.
|
|
Fixed: TESTNG-282: Problem when including+excluding packages (addicted)
|
|
Fixed: TESTNG-471: assertEquals(Map, Map) fails if a map is a subset of the other
|
|
Fixed: JUnitReporter generates an <error> tag for successful expectedExceptions tests
|
|
Fixed: ISSUE-47: Don't allow two <test>s with same name within same suite (Nalin Makar)
|
|
Fixed: If a listener implements both ISuiteListener and IInvokedMethodListener, only one of them gets invoked
|
|
|
|
Eclipse:
|
|
|
|
Added: New quick fix "Add static import org.testng.AssertJUnit.assertXXX"
|
|
Added: New workspace wide setting: excluded stack traces, to provide shorter stack traces in the view
|
|
Added: New "Clear results" icon in the tool bar
|
|
Added: When the search filter is modified, don't update the tree live if it is too big
|
|
Added: Two new @Test refactorings (pull to class level, push to method level)
|
|
Added: JUnit conversion: @Ignore
|
|
Added: JUnit conversion: assertArrayEquals()
|
|
Added: JUnit conversion: @RunWith(Parameterized.class)
|
|
Added: Support for Hamcrest failed assertions in the compare dialog
|
|
Added: JUnit conversion: suite() methods can now either be removed, commented out or left untouched
|
|
Fixed: JUnit conversion: super.setUp()/tearDown() were being removed when extending a class other than TestCase
|
|
Fixed: "Run as" menu not appearing for methods that take a generic parameter.
|
|
Fixed: The tree was incorrect if the same class is used in different <test> tags
|
|
Fixed: When creating a new Run/Debug configuration, "Launch.label" was displayed
|
|
Fixed: TESTNG-459: TestNG menu should not always be present in context menu (Mykola Nikishov)
|
|
Fixed: Performance problems in the plug-in
|
|
Fixed: Workspace-wide XML template files are not being honored.
|
|
Fixed: @BeforeClass/@AfterClass from JUnit4 are not being properly converted
|
|
Fixed: Conversions generate @Test() instead of @Test
|
|
|
|
===========================================================================
|
|
|
|
6.0
|
|
2011/03/16
|
|
|
|
Added: @Guice(moduleFactory) and IModuleFactory
|
|
Added: @Guice(module)
|
|
Added: timeOut for configuration methods
|
|
Added: -randomizesuites (Nalin Makar)
|
|
Added: IConfigurable
|
|
Fixed: @Test(priority) was not being honored in parallel mode
|
|
Fixed: @Test(timeOut) was causing threadPoolSize to be ignored
|
|
Fixed: TESTNG-468: Listeners defined in suite XML file are ignored (Michael Benz)
|
|
Fixed: TESTNG-465: Guice modules are bound individually to an injector meaning that multiple modules can't be effectively used (Danny Thomas)
|
|
Fixed: Method selectors from suites were not properly initialized (toddq)
|
|
Fixed: Throw an error when two data providers have the same name
|
|
Fixed: Better handling of classes that don't have any TestNG annotations
|
|
Fixed: XmlTest#toXml wasn't displaying the thread-count attribute
|
|
Fixed: TESTNG-438: Regression in 5.14.1: JUnit Test Execution no longer working
|
|
Fixed: TESTNG-436: Deep Map comparison for assertEquals() (Nikolay Metchev)
|
|
Fixed: Skipped tests were not always counted.
|
|
Fixed: test listeners that throw were not reporting correctly (ansgarkonermann)
|
|
Fixed: <suite junit="true"> wasn't working.
|
|
Fixed: In parallel "methods" mode, method interceptors that remove methods would cause a lock up
|
|
Fixed: EmailableReporter now sorts methods chronologically
|
|
Fixed: TESTNG-411: Throw exception on mismatch of parameter values (via DP and/or Inject) and test parameters
|
|
Fixed: IDEA-59073: exceptions that don't match don't have stack trace printed in console (Anna Kozlova)
|
|
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 (Tomas 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)
|
|
Fixed: TESTNG-441: NPE in SuiteHTMLReporter#generateMethodsChronologically caused by a race condition (Slawomir Ginter)
|
|
|
|
Eclipse:
|
|
Added: Convert to YAML
|
|
Added: New global preference: JVM args
|
|
Added: Eclipse can now monitor a test-output/ directory and update the view when a new result is created
|
|
Added: Right clicking on a class/package/project now offers a menu "TestNG/Convert to TestNG"
|
|
Added: Excluded methods are now listed in the Summary tab
|
|
Added: "Description" column in the excluded methods table
|
|
Added: Dialog box when the plug-in can't contact RemoteTestNG
|
|
Added: Double clicking on an excluded method in the Summary tab will take you to its definition
|
|
Added: If you select a package before invoking the "New TestNG class" wizard, the source and package text boxes will be auto-filled
|
|
Added: When an item is selected in a tab, the same item will be selected when switching tabs
|
|
Added: A new "Summary" tab that allows the user to see a summary of the tests, sort them by time, name, etc...
|
|
Added: It's now possible "Run/Debug As" with a right click from pretty much any element that makes sense in the tree.
|
|
Added: JUnit conversion: correctly replaces assertNull and assertNotNull
|
|
Added: JUnit conversion: removes super.setUp() and super.tearDown()
|
|
Added: JUnit conversion: removes @Override
|
|
Added: JUnit conversion: replaces @Test(timeout) with @Test(timeOut) (5.14.2.4)
|
|
Added: JUnit conversion: replaces @Test(expected) with @Test(expectedExceptions) (5.14.2.4)
|
|
Added: JUnit conversion: replaces fail() with AssertJUnit.fail() (5.14.2.2)
|
|
Added: JUnit conversion: replaces Assert with AssertJUnit (5.14.2.1)
|
|
Added: The progress bar is now 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)
|
|
Added: "Create TestNG class" context menu
|
|
Added: When generating a new class, handle overridden methods by generating mangled test method names
|
|
Fixed: Green nodes could override red parent nodes back to green
|
|
Fixed: Was trying to load the classes found in the XML template file
|
|
Fixed: Stack traces of skipped tests were not showing in the Exception view
|
|
Fixed: XML files should be run in place and not copied.
|
|
Fixed: NPE when you select a passed test and click on the Compare Result icon (Mohamed Mansour)
|
|
Fixed: When the run is over, the plug-in will no longer force the focus back to the Console view
|
|
Fixed: The counter in the progress bar sometimes went over the total number of test methods (5.14.2.9)
|
|
Fixed: org.eclipse.ui.internal.ErrorViewPart cannot be cast to org.testng.eclipse.ui.TestRunnerViewPart (5.14.2.9)
|
|
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.7
|
|
2011/01/27
|
|
|
|
Release for IDEA
|
|
|
|
===========================================================================
|
|
|
|
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 <classfileset> 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: <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 (Francois 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 <suite> 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 <include>
|
|
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 = <constant>) 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: <classfilesetref> 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 <suite> 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 <test> and <suite>
|
|
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 <include>
|
|
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 <listeners> 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 <test> 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: <method> 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: <tests> can now be disabled at xml level using <test enabled="false">
|
|
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 <selector-class-name> 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 <test> 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 <suite-files>
|
|
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 <P> tags and a missing <tr> 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: <packages> 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 <package name="foo.*"
|
|
Fixed: If a group is not found, mark the method as a skip instead of aborting
|
|
Fixed: testng-failed.xml was not respecting dependencies
|
|
Fixed: class/include method in testng.xml didn't work on default package
|
|
Fixed: DTD only allowed one <define>
|
|
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 <package>
|
|
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<Object[]>
|
|
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 <package> 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 <packages>
|
|
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 <suite>
|
|
|
|
===========================================================================
|
|
|
|
1.2
|
|
|
|
Added: JUnitConverter
|
|
Fixed: Bug with afterClasses (test: AfterClassCalledAtTheEnd)
|
|
|
|
===========================================================================
|
|
|
|
1.1
|
|
|
|
Added: new links for methods and groups in the HTML report
|
|
Added: <methods>
|
|
Added: <fileset> to <testng>
|
|
|
|
===========================================================================
|
|
|
|
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
|