You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Anatoly (Jira)" <ji...@apache.org> on 2022/10/13 11:53:00 UTC

[jira] [Created] (SUREFIRE-2120) Surefire report is not produced with test name when using JUnit5 and Specs2

Anatoly created SUREFIRE-2120:
---------------------------------

             Summary: Surefire report is not produced with test name when using JUnit5 and Specs2
                 Key: SUREFIRE-2120
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-2120
             Project: Maven Surefire
          Issue Type: Bug
    Affects Versions: 3.0.0-M7
            Reporter: Anatoly


Hi,

When running tests from terminal via 'mvn clean test' command, the generated surefire report in 'target/surefire-reports/' does not have a tests name. i.e:
{{}}
{code:java}

{code}
{{<testcase name="" classname="samples.MySpecTest" time="0"/>}}


This messes up our TC reporting.

 
h2. Steps to reproduce
 # Clone my example: [Junit5Specs2SurefireTestName|https://github.com/anatolyra/Junit5Specs2SurefireTestName]
 # Run 'mvn clean test'
 # Open surefire report

When adding this config:
{code:java}
<configuration> <statelessTestsetReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5Xml30StatelessReporter"> <disable>false</disable> <version>3.0</version> <usePhrasedFileName>false</usePhrasedFileName> <usePhrasedTestSuiteClassName>true</usePhrasedTestSuiteClassName> <usePhrasedTestCaseClassName>true</usePhrasedTestCaseClassName> <usePhrasedTestCaseMethodName>true</usePhrasedTestCaseMethodName> </statelessTestsetReporter> <consoleOutputReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5ConsoleOutputReporter"> <disable>false</disable> <encoding>UTF-8</encoding> <usePhrasedFileName>false</usePhrasedFileName> </consoleOutputReporter> <statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoReporter"> <disable>false</disable> <usePhrasedFileName>false</usePhrasedFileName> <usePhrasedClassNameInRunning>true</usePhrasedClassNameInRunning> <usePhrasedClassNameInTestCaseSummary>true</usePhrasedClassNameInTestCaseSummary> </statelessTestsetInfoReporter> </configuration>{code}
I get this console output:

{{}}
{code:java}
[INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running null [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 s - in null [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------{code}
{{}}

Notice the 'null' in the place of the class name.

And this output in the report:
{{}}
{code:java}
<testcase name="" classname="Single test" time="0.001"/>{code}
{{{}{}}}The test name is in classname but again, nothing in the name attribute.
h2. Context
 * maven-surefire-plugin version 3.0.0-M7
 * scala-maven-plugin both version 4.4.0 and 4.7.2
 * specs2-junit_2.13 version 4.12.1-junit-5 (uses junit-vintage-engine version 5.3.1, also tried with 5.9.0)
 * Scala version 2.13.8
 * Build Tool/IDE: Maven



--
This message was sent by Atlassian Jira
(v8.20.10#820010)