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:54:00 UTC
[jira] [Updated] (SUREFIRE-2120) Surefire report is not produced with test name when using JUnit5 and Specs2
[ https://issues.apache.org/jira/browse/SUREFIRE-2120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anatoly updated SUREFIRE-2120:
------------------------------
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:
{{}}
{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
was:
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
> 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
> Priority: Major
>
> 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)