【问题标题】:How do I generate surefire report for all tests and make this work with jenkins?如何为所有测试生成安全报告并使其与詹金斯一起工作?
【发布时间】:2020-12-22 10:46:05
【问题描述】:

我有大量在 Eclipse 上运行 selenium 的 Junit 测试,我想做的是在所有测试运行后生成一个 Junit 或肯定报告。我知道使用 maven,您可以通过在控制台上运行 mvn test 并生成报告来为单个测试执行此操作:

mvn surefire-report:report-only

但是,这个测试并为每个单独的测试生成一个报告,有没有办法让这个工作适用于多个测试?这背后的原因是因为我在 Jenkins 上无头地运行这些测试,我知道 jenkins 电子邮件插件可以让我在构建后传递一个 html 报告,这会让我对测试成功和失败有所了解。

【问题讨论】:

  • 第一个 selenium 测试是集成测试,应该由 maven-failsafe-plugin 处理。此外,如果您想获得有关 Jenkins 的报告,请相应地配置 Jenkins ...不需要使用 surefire-report 吗?还是您在构建中创建一个站点?

标签: selenium maven jenkins junit maven-surefire-plugin


【解决方案1】:

你可以试试这个命令:

#mvn 清洁测试

这将清理现有报告并一次性运行所有测试用例,并为所有测试生成可靠报告。

如果这是您要找的,请告诉我。 :)

【讨论】:

  • 感谢您的回答,我运行了它,遗憾的是它只运行了我的游乐场项目中的 2 个测试中的 1 个,如果有帮助,我有多个单元测试是其他包的一部分?它确实清除了旧报告,但没有生成新报告。有什么想法吗?
  • 你可以试试#mvn clean test site
【解决方案2】:

首先,您需要在 pom.xml 文件中包含所有正确的插件和依赖项。

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
            </plugin>
        </plugins>
    </build>

    <!-- `mvn clean test site` to generate the junit html report-->
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>3.0.0-M4</version>
            </plugin>
        </plugins>
    </reporting>

接下来,将 maven 命令添加到您的 maven 构建中,如图所示。

运行此程序后,您的 IDE 将运行该 maven 构建中的所有测试并生成一个surefire.html 报告,该报告可在 target/site/surefire-report.html 中找到 (您可能需要通过右键单击项目来更新您的 maven 项目以第一次看到该文件夹​​,然后将鼠标悬停在 maven 上,然后单击更新 maven 项目。)

我建议这样做,因为它可以在 jenkins 以无头模式运行您的测试时使用,然后可以附加到您的电子邮件扩展插件。

【讨论】:

  • 如果您从 IDE 运行测试,您会自动获得报告,无需通过 surefire 报告生成 HTML 存储库?...
  • 你可以,但是,如果你在 jenkins 上无头运行测试并希望通过电子邮件将报告发送给你,那么你可以获取 surefire html 报告,以便将其作为电子邮件的一部分发送给简单明了的情况输出:)
  • 如果您在 Jenkins 上,您应该在 Jenkins 中使用电子邮件模板等进行配置,这样更容易、更快捷...
  • jenkins 电子邮件模板已配置,但是如上所述,我希望在该电子邮件中发送报告...当您运行 jenkins 时,结果会出现很多信息,这很有用在电子邮件中附有一份结构良好的报告。该报告提供了一种查看失败和通过的简单方法。
  • 我强烈推荐看看plugins.jenkins.io/email-ext
猜你喜欢
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多