Surefire gathers all tests tun in a single TEST-TestSuite.xml instead of one
per class as with Junit
----------------------------------------------------------------------------------------------------
Key: SUREFIRE-433
URL: http://jira.codehaus.org/browse/SUREFIRE-433
Project: Maven Surefire
Issue Type: Bug
Components: TestNG support
Affects Versions: 2.4
Environment: Linux, maven 2.0.8, surefire 2.4, TestNg 5.7
Reporter: Henrik Lynggaard
Attachments: bug-example.zip
When running Junit test, surefire will generate a TEST-(full-classname).xml per
test class in the surefire-reports directory. Each XML will contain a testcase
for each method in the given class.
However when runnign TestNG test, surefire only generates one
Test-TestSuite.xml in the surefire-reports directory. This xml contains a
testcase per test method for all the classes in the given project.
This is a problem since it breaks the surefire-report.
- The report wil have a class section with one row, The class name in the row
will be TestSuite
- The report will have a package section with one row. The package name in the
row will be empty. ("TestSuite" contains no dot so no package)
- Proberly unrelated, but any < or > characters appers on the page as < and
>
I have looked a bit at the code and the problem appears to be that in SureFire
TestNG Runner(surefire-testng) the methods
- org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.startTestSuite(...)
- org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.finishTestSuite(...)
is only called once, and inside it uses a hardcoded "TestSuite" for the name.
I think it should be called for each class and passed the full classname as
name parameter.
I will attach a simple maven project that shows the problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira