问题描述
我有很多在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构建中。
运行此命令之后,您的IDE将运行该Maven构建中的所有测试,并生成一个surefire.html报告,该报告可在target / site / surefire-report.html中找到 (您可能需要更新您的maven项目,才能通过右键单击该项目,然后将鼠标悬停在maven上,然后单击更新maven项目来首次看到该文件夹。)
我建议您这样做,因为它可以在无头模式下运行测试时与jenkins配合使用,然后可以将其附加到您的电子邮件扩展插件中。