Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.4
-
None
-
Linux, maven 2.0.8, surefire 2.4, TestNg 5.7
Description
When running a directory of Junit tests, 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.