Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-2120

Surefire report is not produced with test name when using JUnit5 and Specs2

    XMLWordPrintableJSON

Details

    Description

      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:

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

      This messes up our TC reporting.

       

      Steps to reproduce

      1. Clone my example: Junit5Specs2SurefireTestName
      2. Run 'mvn clean test'
      3. Open surefire report

      When adding this config:

      <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>

      I get this console output:

      [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] ----------------[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] -------------------------------------------------------

      Notice the 'null' instead of the class name.

      And this output in the report:

      <testcase name="" classname="Single test" time="0.001"/>

      The test name is in classname but again, nothing in the name attribute.

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            Rabinovich Anatoly
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: