8

我试图弄清楚如何将 JUnit(3 和 4)的假定报告功能与 Maven 结合使用,但 Google 搜索在如何实际运行 JUnit(通过 Maven)方面并没有出现太多,得到一个每个测试(或所有测试)的报告以及它将采用什么格式。

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

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

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

3.) 报告输出在哪里?

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

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

4

2 回答 2

15

Maven Surefire 插件是运行测试并默认生成 2 个原始报告的插件:

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

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

默认情况下,这些文件生成于${basedir}/target/surefire-reports

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

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

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

Surefire Report Plugin 解析生成的TEST-*.xml文件${basedir}/target/surefire-reports并将它们呈现给 DOXIA,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>

调用时mvn site,报告将自动包含在Project Reports菜单中,如下图所示。

替代文字
(来源:apache.org

独立生成报告

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

mvn surefire-report:report  

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

替代文字
(来源:apache.org

于 2010-07-19T20:06:03.063 回答
0

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

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

于 2010-07-19T16:09:01.903 回答