[
https://issues.apache.org/jira/browse/SUREFIRE-1822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17160970#comment-17160970
]
Marc Guillemot commented on SUREFIRE-1822:
------------------------------------------
Here the issue on Jenkins' side with reports containing an empty testcase name:
[https://issues.jenkins-ci.org/browse/JENKINS-63113]
I see 3 options:
* keep _name=""_ because no tescase has been executed as Surefire 3.0.0-M5
does and close this issue as invalid
* use the name of the test class as previous Surefire versions did, even if
it's not really correct
* use some string clearly indicating that something done wrong *before*
executing the real test(s). For instance "<initialization>".
[~tibordigana], what do you think?
> 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)