当前位置: 首页 > 面试题库 >

Maven是否有一个不错的HTML Junit报告插件?

龚铭
2023-03-14
问题内容

我发现该surefire-report插件非常不适合我的工作风格。我一直在清理项目,我不想每次浏览浏览器中的测试报告时都花5分钟来重建整个站点。

如果输入mvn surefire-report:report-only,则生成的报告太难看且几乎无法阅读。

我正在寻找的是类似ant的JUnitReport任务的东西。已经有一个可用的了吗?


问题答案:

确实,在每个构建中生成整个站点显然不是一种选择。但是问题在于,mvn surefire-report:report-only它不会创建css /
。css文件,因此结果很丑陋。这已记录在SUREFIRE-616中(但这并不意味着会发生什么)。就个人而言,我使用的HTML报告不多,因此我可以接受它,但这并不是一个好的答案,因此这是一个基于ant任务(
sigh *)的解决方法:

      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>test-reports</id>
            <phase>test</phase>
            <configuration>
              <tasks>
                <junitreport todir="target/surefire-reports">
                  <fileset dir="target/surefire-reports">
                    <include name="**/*.xml"/>
                  </fileset>
                  <report format="noframes" todir="target/surefire-reports"/>
                </junitreport>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-junit</artifactId>
            <version>1.6.2</version>
          </dependency>
        </dependencies>
      </plugin>

更新: 我最初的想法是“按需”运行Maven
AntRun插件以生成报告…但这不是我发布的内容,我将其绑定到了test阶段…但是我没有想到失败的情况测试(这将停止构建并阻止AntRun插件的执行)。因此,要么:

  1. 不要将AntRun插件绑定到该test阶段,请将配置移到之外,executionmvn antrun:run在需要时在命令行上调用以生成报告。

  2. 或使用testFailureIgnoretest mojo 的选项,并在surefire插件配置中将其设置为true:

        <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <testFailureIgnore>true</testFailureIgnore>
      </configuration>
    </plugin>
  1. 或使用-D参数在命令行中设置以下表达式:
    $ mvn test -Dmaven.test.failure.ignore=true
    

我认为选项1是最好的选择,您不一定要生成报告(尤其是在测试通过时),而系统地生成报告可能会从长远来看减慢构建速度。我会“按需”生成它们。



 类似资料:
  • 从github复制粘贴maven cucumber报告的代码后,报告不会在目标文件夹中生成。我不确定丢了什么。我试着用Runner类和MVN控制台运行,结果都没有在目标文件夹中生成报告 POM文件 和这个我的跑步者文件 我运行了

  • 我的需求是通过maven运行多个SOAPUI测试用例,使用jenkins自动化它的构建,并生成测试结果报告。除了最后一部分,我都做得很成功。 现在我想生成所有测试用例结果的html报告。我使用maven surefire报告插件来实现这一点。 我关注了这篇文章http://maven.apache.org/surefire/maven-surefire-report-plugin/usage.ht

  • 我们使用自定义doclet从自定义javadoc标记生成报告,并使用Maven站点插件和javadoc插件生成此报告和常规java API文档。 POM的部分如下所示: 在Maven 2下,这可以正常工作,但在Maven 3中只生成一个报告,这是POM中指定的最后一个报告(通过交换元素来分配)。 经过一些实验,我发现如果我将常规报告的目标从“javadoc”更改为“test javadoc”,那么

  • 我对编写java很陌生,我做了一些教程,这些教程很棒,但我不知道为什么它不能在游戏中工作。我已经尝试了一切,比如改变它,看看这么多不同的论坛。事件有两个类(Join and Leave Event)和main类。我已经确保检查导入它们和错误,没有让我从我所看到的地方。如果有人能帮上忙,那将是一种福气。 代码:-主类: yml:

  • 我被要求并行运行cucumber测试(通过使用maven surefire多个jvms,forkCount)-结果报告相当于通过顺序运行测试创建的报告。 我使用的是cucumberv3。cucumberv4允许使用一个带有组合结果报告的单一运行器并行运行测试——但是我对v4的尝试并没有使我能够使用一个运行器运行多个JVM/生成一个报告。 您能否澄清/建议是否有一种替代/更简单的方法来解决以下问题?

  • 问题内容: 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 是否有一个很好的整洁jQuery插件,该插件允许包含一个JS脚本,然后使用简单的代码段启用表单?像这样: 上载目标是表单的操作。 任何解决方案都不得阻止使用常