Maven 完整的安全报告,包括通过的测试记录事件

Posted

技术标签:

【中文标题】Maven 完整的安全报告,包括通过的测试记录事件【英文标题】:Maven complete surefire-report including passed tests logging events 【发布时间】:2012-12-13 04:44:28 【问题描述】:

我想使用 maven 的surefire-report 插件生成一份报告,该插件将为我提供所有测试的详细报告,其中包含在每次测试运行期间记录的日志事件,而不仅仅是我的测试失败的事件。这也将为我提供测试失败的完整上下文。

这是我的 pom.xml 文件:

        <artifactId>SampleTests</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>sampleTests</name>
<url>http://maven.apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.11</version>
        <type>maven-plugin</type>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>
</dependencies> 
<build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <outputDirectory>$basedir/target/classes</outputDirectory>
    <testSourceDirectory>src/main/test</testSourceDirectory>
    <testOutputDirectory>$basedir/target/test-classes</testOutputDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.4.2</version>
        <configuration>
          <includes>
            <include>com/mypackage/**</include>
          </includes>
          <test>**/*Tests</test>
        </configuration>
      </plugin>
      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.6</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report-only</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
</project>

我使用 mvn surefire-report:report 在这里生成报告。 所以我想知道是否有任何额外的事情可以做,以便查看测试运行期间发生的详细报告?

【问题讨论】:

【参考方案1】:

作为来自maven site的参考

surefire-report:report 将测试结果报告生成为 html 格式。 surefire-report:report-only 这个目标不运行测试,它只构建报告。

您正在尝试仅报告。尝试将另一个报告作为目标

【讨论】:

您所说的仅报告和报告仅用于定义是否运行测试。它与测试中的日志事件无关。我想要实现的是,我看到了运行期间发生的事件的完整日志,当您在报告中运行 mvn surefire-report:report from cmd printer 时会看到这些事件。 但是,当您使用确定的插件构建项目时,默认情况下,这种报告会出现在目标文件夹中。恐怕你没有检查。而且我不确定这是否是你需要的,Maven-jxr-plugin with the surefire。它打印测试用例失败的源代码参考。【参考方案2】:

我最终使用 ant 来获得我需要的东西。感谢这个博客:http://blog.varunin.com/2010/03/ant-script-for-generating-junit-report.html#comment-form

如果您想获得所有测试事件的详细报告,请使用此

【讨论】:

OP 正在请求 maven 帮助,这篇文章谈到了 ant 并且没有任何帮助 我相信这篇文章是 OP。

以上是关于Maven 完整的安全报告,包括通过的测试记录事件的主要内容,如果未能解决你的问题,请参考以下文章

maven 入门

随笔一记-Maven

渗透测试学习—记录一次自测试渗透实战

Maven 实战-安装配置

Maven的基本概念

Maven学习总结——Maven入门