[ https://issues.apache.org/jira/browse/SUREFIRE-1822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17161014#comment-17161014 ]
Tibor Digana commented on SUREFIRE-1822: ---------------------------------------- Let's start with excluding some attributes which do not make sense and then we can concentrate on more relevant points. I would exclude the 3rd option. The reason is that the plugin has to respect the events fired by the junit engine. This means i would rather not create an artificial name of the test. Such name may cause some troubles for us in the future, because it was not generated by the engine itself and e.g. the parameterized tests may see two identical runs which would create a new Jira issue for Surefire. If you want to know how the events are processed in the plugin, pls see the class [RunListenerAdapter.java|https://github.com/apache/maven-surefire/blob/master/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java]. > XML report with empty name attribute by 3.0.0-M5 when failing in > @BeforeAll/@BeforeClass > ---------------------------------------------------------------------------------------- > > Key: SUREFIRE-1822 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1822 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin, xml generation > Affects Versions: 3.0.0-M5 > Reporter: Marc Guillemot > Priority: Major > > If a JUnit test fails in @BeforeAll (or a JUnit 4 test in @BeforeClass), then > Surefire reports it correctly on the console and fails the build (what was > not the case with 3.0.0-M4 with @BeforeAll) *but the testcase name attribute > in the XML report is now empty*: > Example: > {code:java} > <testcase name="" classname="test.TestJUnit5FailingInBeforeAll" > time="0.017"> > <failure > type="org.opentest4j.AssertionFailedError"><![CDATA[org.opentest4j.AssertionFailedError: > Failure in @BeforeAll method > at > test.TestJUnit5FailingInBeforeAll.setup(TestJUnit5FailingInBeforeAll.java:14) > ]]></failure> > <system-out><![CDATA[In setup... > ]]></system-out> > </testcase> > {code} > As a reference, Surefire 2.2 writes the same content in the classname and > name attributes: > {code:java} > <testcase name="test.TestJUnit5FailingInBeforeAll" > classname="test.TestJUnit5FailingInBeforeAll" time="0.016"> > <failure message="Failure in @BeforeAll method" > type="org.opentest4j.AssertionFailedError">org.opentest4j.AssertionFailedError: > Failure in @BeforeAll method > at > test.TestJUnit5FailingInBeforeAll.setup(TestJUnit5FailingInBeforeAll.java:14) > </failure> > <system-out><![CDATA[In setup... > ]]></system-out> > </testcase> > {code} > It is not really wrong to consider that the testcase node has no name here > but it would be a change compared to prior versions that other systems need > to handle (Jenkins for instance doesn't display the report correctly in this > case). > Bug or feature? If this considered as a bug, I can try to provide a patch. -- This message was sent by Atlassian Jira (v8.3.4#803005)