JUnit格式的TestNG输出具有重复的名称,用于使用Maven Surefire插件运行的参数化测试

时间:2019-02-06 21:15:49

标签: maven testng maven-surefire-plugin

我正在使用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报告以在名称中包含参数信息?

0 个答案:

没有答案