我正在使用Surefire插件在Maven中运行TestNG测试。我有一些使用DataProvider的参数化测试。 通过Maven运行测试时,它以TestNG和JUnit格式输出TestNG测试。 JUnit格式位于target / surefire-reports / TEST-TestSuite.xml下。
问题出在JUnit输出中,测试名称显示为重复项,并且无法区分参数化测试的多次运行。
例如:
<testcase classname="com.mycompany.dummyProjects.dummyMaven.IntClassifierTest" name="isEven_returnsCorrectResult_onNumber" time="0.02"/>
<testcase classname="com.mycompany.dummyProjects.dummyMaven.IntClassifierTest" name="isEven_returnsCorrectResult_onNumber" time="0"/>
我知道TestNG格式在<params>
下的<test-method>
节点中包含参数信息,但是我需要JUnit格式进行某些下游处理。
我知道可以运行TestNG测试并获得包含参数信息的JUnit输出。当我在Gradle中运行相同的TestNG测试时,它给了我JUnit输出,如下所示:
<testcase name="isEven_returnsCorrectResult_onNumber[0](-2, false)" classname="com.mycompany.dummyProjects.dummyGradle.IntClassifierTest" time="0.036"/>
<testcase name="isEven_returnsCorrectResult_onNumber[1](-1, true)" classname="com.mycompany.dummyProjects.dummyGradle.IntClassifierTest" time="0.0"/>
是否可以配置Surefire格式化JUnit报告以在名称中包含参数信息?