如何在 maven-surefire-plugin XML report for @RepeatedTest annotation test cases in junit 中获取正确的重复值和包名

How to get the correct repetition value and package name in maven-surefire-plugin XML report for @RepeatedTest annotation test cases in junit

我已经按照以下层次结构创建了一些 JUnit 测试用例。

包名例如:

test.qa.paramter.myTest

在这个包下,我有2个测试用例:

1:第一个测试用例(class 名称为 NormalTest,方法名称为 caseNormalTest)带有 @Test 注释

2:第二个测试用例(class 名称为 RepeatTest,方法名称为 caseRepeatTest)带有 @RepeatedTest,它将使用不同的输入值重复相同的测试 2 次。

我的问题是如何为@RepeatedTest 获得相同的 classname xml 输出,因为它不显示完整的包名称。也有可能在万无一失的报告中得到重复计数吗?

现在当我 运行 使用 Jenkins 的测试用例时,maven-surefire-plugin 为 @RepeatedTest

生成测试结果 xml
<testcase name="caseRepeatTest" classname="caseRepeatTest()" time="30.636"/>
<testcase name="caseParametrization" classname="caseParametrization()" time="13.013"/>

而对于@Test annoation,我得到了

<testcase name="caseNormalTest" classname="test.qa.paramter.myTest.NormalTest" time="22.796"/>

下面是我的 POM 设置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        <argLine>-Xms512m -Xmx2048m</argLine>
        <testFailureIgnore>true</testFailureIgnore>
        <systemPropertyVariables>
         <sun.net.http.allowRestrictedHeaders>true</sun.net.http.allowRestrictedHeaders>
            <testInstance>v1</testInstance>
        </systemPropertyVariables>
        <includes>
            <include></include>
        </includes>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.3.2</version>
        </dependency>
    </dependencies>
</plugin>

升级到 Maven Surefire 2.22.0 或更高版本并删除对过时 junit-platform-surefire-provider.

的依赖

详情在这里:https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven