[ 
https://issues.apache.org/jira/browse/SUREFIRE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SUREFIRE-457:
------------------------------------
    Fix Version/s:     (was: Backlog)

> TestNG should log on the console before/after every test class
> --------------------------------------------------------------
>
>                 Key: SUREFIRE-457
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-457
>             Project: Maven Surefire
>          Issue Type: Wish
>          Components: TestNG support
>    Affects Versions: 2.4, 2.4.1, 2.4.2
>            Reporter: Dan Fabulich
>            Priority: Minor
>         Attachments: testNGListenerTest.zip
>
>
> In Surefire 2.3.x, when running the tests in "directory mode" (i.e. without a 
> suite.xml file) we used to run each TestNG class as a separate suite.  As a 
> result, we logged to the console before/after every test class.
> This behavior totally broke tests that had rich interdependencies (which is a 
> big part of the point of TestNG), so in Surefire 2.4 we handed more control 
> over to TestNG.  As a result, we let TestNG run the entire directory at once, 
> and we aren't notified when classes start/end.  Since we aren't notified, we 
> can't log to the console before/after every test class.  But this looks like 
> a regression to those who were used to the 2.3.x behavior.
> (This is trickier than it looks, because TestNG can/will run test methods 
> entirely out of order, running part of class X, and then part of class Y, 
> then back to class X, then a bit of class Z, etc.  And that's not even 
> considering parallelized testing.)
> I argue that to fix this "right" we'd need TestNG to notify us when classes 
> start/end; we should pressure the TestNG team to provide this functionality.  
> Benjamin has argued that there should be an option to run each test in its 
> own suite; I think that option is confusing and error-prone.
> http://www.nabble.com/Re%3A-Test-Suites%2C-Ant%2C-Surefire%2C-and-JunitReport-p15094586.html
> If you think you want a one-class-per-suite option, I offer this remark: Many 
> TestNG tests aren't safe to run in one-class-per-suite mode.  If your tests 
> are safe to run in that mode, then they're also safe to run in JUnit 4.  (In 
> fact, if your tests are that simple, you probably aren't using any of 
> TestNG's unique features, and you should prefer to use JUnit 4.)  So, as a 
> workaround, don't use TestNG; use JUnit 4 instead.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to