我如何为所有测试生成 surefire 报告并使其与 jenkins 一起工作?

How do I generate surefire report for all tests and make this work with jenkins?

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

mvn surefire-report:report-only

但是,这会测试并为每个单独的测试生成报告,有没有办法让它适用于多个测试?这背后的原因是因为我 运行 在 Jenkins 上进行了这些测试,我知道 jenkins 电子邮件插件可以让我通过 html 报告 post 构建,这会让我对测试有一个想法成功与失败。

您可以尝试使用这个命令:

#mvn 清理测试

这将一次性清理现有报告和 运行 所有测试用例并为所有生成 surefire-reports。

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

首先,您需要在 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 一起工作,然后可以附加到你的电子邮件扩展插件。