当前位置: 首页 > 知识库问答 >
问题:

当任何PIT突变失败时,maven构建可能会失败,而不是突变覆盖率?

宇文飞翮
2023-03-14

我正在为我的项目使用最简单的maven插件,如果有任何变异失败,我希望maven构建失败。

但我看不到允许我这样做的配置选项。我可以看到mutationThreshold和coverageThreshold,但它们都不起作用。

理想情况下,我希望使用PIT来确保我编写的测试不会失败任何突变,而不是试图满足全面的覆盖指标。

有什么办法吗?

当前maven配置:

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>1.4.0</version>
    <configuration>
        <mutationThreshold>100</mutationThreshold>
    </configuration>
</plugin>

共有2个答案

缑文栋
2023-03-14

pitest的最新版本(我认为是1.6.2)包括一个测试强度阈值,它只考虑覆盖的代码(即,如果构建因未覆盖的行而失败,则需要添加额外的覆盖限制)。

   /**
   * Test strength score threshold at which to fail build
   */
  @Parameter(defaultValue = "0", property = "testStrengthThreshold")
  private int                         testStrengthThreshold;

相关:

  • https://github.com/hcoles/pitest/issues/128
子车飞鹏
2023-03-14

如果您想让PIT在突变测试未失败的任何时候失败,您只需将突变阈值设置为100,这意味着所有生成的突变都能完全覆盖。

 类似资料:
  • 问题内容: 如果不满足覆盖率阈值(即覆盖率必须至少为80%或构建失败),那么对于给定的项目,我曾见过许多使Maven支持的Jenkins构建失败的文章。 我想知道是否有一种方法可以配置Jenkins使构建失败,如果覆盖率低于上一个构建,即如果构建N的覆盖率是20%,而N + 1的覆盖率是19%,那么构建将失败。我不想设定明确的门槛,但我希望覆盖范围保持稳定或随着时间的推移而提高。 问题答案: 将最

  • 问题内容: 我正在尝试使用CLI在Heroku上部署React Web应用程序。但是当我跑步时 从我的项目文件夹中,它抛出错误: 由于使用npm,我做了rm并删除了纱线锁文件。仍然出现相同的错误。现在,当我实际执行rm yarn.lock时,在终端中找不到任何条目。为什么不知道Heroku CLI坚持认为我的目录中仍然有yarn lock文件。 问题答案: 在将其推送到Heroku之前,您是否要回

  • [错误]D:...\spark-test\java-gett-start\src\main\java\main.java:[73,35]错误:源代码1.5中不支持lambda表达式 这是一个heroku示例java项目,在System.properties文件中设置了java版本:java.runtime.version=1.8 具体行如下:

  • 问题内容: 我正在使用Jenkins,Maven 3.1和Java 1.6。我在詹金斯(Jenkins)建立了以下Maven职位,并具有以下目标和选择… 下面是我的pom.xml surefire配置… 但是,当我的单元测试失败时,Jenkins控制台输出仍然显示“ BUILD SUCCESS”,并且该构建被标记为“不稳定”,而不是完全失败。我如何在Jenkins(如果事实如此,则为Maven)中

  • 我使用的是Jenkins、Maven3.1和Java1.6。我有以下的Maven工作设置在詹金斯与以下目标和选择...

  • 阿波罗查询是这样定义的: 我的架构: 我如何提出请求: UserLevelInput、RanksInput 和 PvpInput: 如果我在localhost:5005/graphql上进行这种变异,它将按预期工作: 此外,如果我提出请求(代码不在 /graphql),然后检查出Apollo开发工具的特定突变,我得到的Int,UserLevelIn的,RanksIn的和PpvIn的类型是未知的。A