使用Maven的JUnit3和Junit4 XML报告

Chr*_*ris 8 java maven-2 junit4 junit3

我试图弄清楚如何结合Maven使用JUnit(3和4)的假定报告功能,但谷歌搜索在如何实际运行JUnit(通过Maven)的方式上并没有太多关注,得到一个报告每个测试(或所有测试)以及它将采用何种格式.

所以,我的多部分问题是:

1.)JUnit(3/4)能够输出什么样的XML格式?

2.)JUnit需要什么样的调用约定/参数才能输出这些报告?

3.)报告输出在哪里?

4.)可以在通过Maven运行时生成这些报告,还是我使用Maven生成的报告的唯一选择?

任何链接或建议将不胜感激.

Pas*_*ent 11

Maven的Surefire插件是运行测试,在默认情况下产生2个的原始报告的插件:

Surefire插件在构建生命周期的测试阶段使用,以执行应用程序的单元测试.它以两种不同的文件格式生成报告:

  • 纯文本文件(*.txt)
  • XML文件(*.xml)

默认情况下,这些文件是在 ${basedir}/target/surefire-reports

该插件有一些参数允许稍微调整报告.从 surefire:testmojo文档:

  • disableXmlReport:标记以禁用以xml格式生成报告文件.默认值为: false.
  • reportFormat:选择要生成的测试报告的格式.可以设置为简短或简单.默认值为: brief.
  • trimStackTrace:是否将报表中的堆栈跟踪修剪为仅测试中的行,或显示完整跟踪.默认值为: true.

对于报告的HTML格式,您可以使用Maven Surefire报告插件:

Surefire Report Plugin解析生成的TEST-*.xml文件${basedir}/target/surefire-reports并将其呈现给DOXIA,从而创建测试结果的Web界面版本.

您可以获取作为站点生成的一部分生成的报告,也可以运行独立surefire-report:report目标.从使用情况页面:

生成报告作为项目报告的一部分

要在网站生成过程中生成Surefire报告,请在POM部分添加以下内容:

<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
  </reporting>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

mvn site被调用时,该报告将被自动包含在项目报告如下图所示图菜单.

替代文字

以独立方式生成报告

Surefire报告还可以使用其独立目标生成报告:

mvn surefire-report:report  
Run Code Online (Sandbox Code Playgroud)

应生成HTML报告in ${basedir}/target/site/surefire-report.html.

替代文字


And*_*ndy 0

Maven Surefire 插件是执行大量测试报告的工具。

您可能还想查看Cobertura的代码覆盖率。