Use the name of <test> in the generated JUnitReports.
diff --git a/src/main/java/org/testng/reporters/JUnitXMLReporter.java b/src/main/java/org/testng/reporters/JUnitXMLReporter.java
index 3ee7539..2e0af5c 100755
--- a/src/main/java/org/testng/reporters/JUnitXMLReporter.java
+++ b/src/main/java/org/testng/reporters/JUnitXMLReporter.java
@@ -148,6 +148,8 @@
protected void generateReport(ITestContext context) {
XMLStringBuffer document= new XMLStringBuffer();
+ document.addComment("Generated by " + getClass().getName());
+
Properties attrs= new Properties();
attrs.setProperty(XMLConstants.ATTR_ERRORS, "0");
attrs.setProperty(XMLConstants.ATTR_FAILURES, "" + m_numFailed);
@@ -158,11 +160,7 @@
}
Set<String> packages = getPackages(context);
if (packages.size() > 0) {
- // JUnit can only have one package here since all the methods have to belong
- // to the same class
- String className =
- context.getAllTestMethods()[0].getMethod().getDeclaringClass().getName();
- attrs.setProperty(XMLConstants.ATTR_NAME, className);
+ attrs.setProperty(XMLConstants.ATTR_NAME, context.getCurrentXmlTest().getName());
// attrs.setProperty(XMLConstants.ATTR_PACKAGE, packages.iterator().next());
}