gpt4 book ai didi

java - Maven 站点报告了确定测试的良好结果,需要额外的配置来进行pitest的mutationCoverage

转载 作者:行者123 更新时间:2023-11-30 07:19:31 24 4
gpt4 key购买 nike

如果我设置<reporting>我的pom部分如下,我只得到了surefire报告,而pitest报告失败了,因为它找不到任何输入。

  <reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.19.1</version>
</plugin>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.1.10</version>
<configuration>
<targetClasses>
<param>pricingengine.*</param>
</targetClasses>
<targetTests>
<param>pricingengine.*</param>
</targetTests>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>

获取pitest的输入报告以便输出到站点报告,我需要首先执行此操作:

mvn compile test-compile org.pitest:pitest-maven:mutationCoverage

我是否必须在 <build> 中设置这些内容?部分作为插件 executions绑定(bind)到pre-site阶段才能实现这一点?或者是否有一个更简单的解决方案以及我不知道的另一个插件?

最佳答案

然而,maven-surefire-report-plugin 明确指出,它调用默认生命周期的 test 目标。 Pitest 插件没有。所以是的,您必须将 Pitest-maven 插件添加到构建部分并将其绑定(bind)到生命周期阶段,即 pre-site。我不建议为此目的使用站点生命周期,因为它不适用于长时间运行的分析任务,但这取决于您。

所以构建顺序是:

  • 构建生命周期
    • 构建模块(编译阶段)
    • 运行测试(测试阶段)
    • 运行突变覆盖(即在验证阶段)
  • 网站生命周期
    • 预位点(mutationCoverage);
    • 生成报告
    • 发布报告
    • ...

我建议使用配置文件,这样突变测试就不会在每个版本上运行,并且您可以在需要时激活它(即mvn site-P pit)

<profile>
<id>pit</id>
<build>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<configuration>
<targetClasses>
<param>pricingengine.*</param>
</targetClasses>
<targetTests>
<param>pricingengine.*</param>
</targetTests>
</configuration>
<executions>
<execution>
<goals>
<goal>mutationCoverage</goal>
</goals>
<phase>pre-site</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

关于java - Maven 站点报告了确定测试的良好结果,需要额外的配置来进行pitest的mutationCoverage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com