如何生成所有测试的surefire报告,并与詹金斯一起使用?

问题描述

我有很多在Eclipse上运行硒的Junit测试,我想做的是在所有测试运行之后生成Junit或surefire报告。我知道使用maven可以通过在控制台上运行mvn test并使用以下命令生成报告来针对单个测试执行此操作:

mvn surefire-report:report-only

但是,此测试会为每个单独的测试生成一份报告,是否有办法使此功能适用于多个测试?这背后的原因是因为我在Jenkins上不费吹灰之力地运行了这些测试,我知道jenkins电子邮件插件可以让我通过html报告发布版本,从而使我对测试的成功和失败有所了解。

解决方法

您可以尝试使用以下命令:

#mvn干净测试

这将清除现有报告并一次性运行所有测试用例,并为所有报告生成确定报告。

请让我知道您在寻找什么。 :)

,

首先,您需要在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构建中。

enter image description here

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

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