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

apache commons math上的PIT变异测试显示行覆盖率和变异覆盖率为0%

施景同
2023-03-14

我正在尝试使用maven进行apache常见数学测试的PIT突变测试。

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>0.29</version>
    <configuration>
        <targetClasses>
            <param>org.*</param>
        </targetClasses>
        <targetTests>
            <param>org.*</param>
        </targetTests>
    </configuration>
</plugin>

我将此添加到我的pom.xml和mvnorg.pitest: Pitest-maven: MutationCoverage中。我可以运行它,但索引文件显示行覆盖率和突变覆盖率为0%。我认为我没有正确给出参数。此外,我需要对apache-Common-数学进行一次测试,例如LUDecom。

共有1个答案

贾建茗
2023-03-14

在运行突变测试分析之前,运行mvn测试来编译主类和测试类(顺便验证一下,所有测试都通过了,这可能会影响PIT结果)。

在mvn清理之后,或者在新克隆的存储库上,PIT没有任何类可以变异,您可以得到提到的消息。

默认情况下,Maven的PIT插件将groupId作为基本包,因此对于commons math来说,完全省略配置部分是可以的。同时将PIT版本更新为1.1.0(或最新版本,如果可用),以避免出现已修复的错误。

 类似资料:
  • 11.3. 测试覆盖率 就其性质而言,测试不可能是完整的。计算机科学家Edsger Dijkstra曾说过:“测试能证明缺陷存在,而无法证明没有缺陷。”再多的测试也不能证明一个程序没有BUG。在最好的情况下,测试可以增强我们的信心:代码在很多重要场景下是可以正常工作的。 对待测程序执行的测试的程度称为测试的覆盖率。测试覆盖率并不能量化——即使最简单的程序的动态也是难以精确测量的——但是有启发式方法

  • Jacoco插件在jenkins报告中显示0%的覆盖率,但当我在本地系统中运行相同的命令时,Jacoco会正确生成报告。我正在使用以下命令: mvn-s xyz/settings.xml-f xyz/xyz/pom.xml清洁安装org.jacoco 所以当我在jenkins中运行这个命令时,它会生成错误的报告。我已经检查了它在工作区目录对应的项目在詹金斯。它显示每个项目的0%覆盖率。但是当我在本

  • 问题内容: 从不同的代码库执行业务测试时,我必须获得应用程序的代码覆盖率。 我使用:Maven作为我的构建Jbehave作为我的测试框架。测试是用Java编写的。 我的应用程序是部署在tomcat上的一组war文件。 应用程序代码库与测试代码库是分开的。 为了获得覆盖范围,我遵循以下步骤。 1使用maven编译测试代码。 2将应用程序类从其构建位置($ {app.code.dir} / targe

  • 我必须获得应用程序的代码覆盖率,而业务测试是从不同的代码库执行的。 我使用:Maven作为我的构建Jbehave作为我的测试框架。测试是用java编写的。 我的应用程序是部署在tomcat上的一组war文件。 应用程序代码库与测试代码库是分开的。 在获得覆盖范围时,我遵循以下步骤。 1使用maven编译测试代码。 2将应用程序类从构建位置(${app.code.dir}/目标/类)复制到${tes

  • 我尝试在我的应用程序模块中的代码的AndroidKotlin应用程序的声纳Qube中显示测试覆盖范围。我可以生成雅各的覆盖结果并显示声纳Qube分度仪,但问题是测试覆盖范围未显示在声纳Qube中: https://imgur.com/a/xOjxLl1 在我的项目的build.gradle中,我有: 在我的身体里。我的应用程序模块的gradle 我生成我的Jacoco报告: 并使用:生成我的son

  • 我有一个在相当大的django项目上使用Pytest的工作测试套件。问题是我无法实现适当的结果使用覆盖,我想知道这是否可能是因为项目目录结构。 考虑以下目录树示例: 以及覆盖报告的示例输出: 查看html报告,我可以看到许多由测试执行的语句没有被认为是覆盖的,尽管它们应该被覆盖。我认为这个覆盖数据是不完整的,它似乎只考虑了导入、定义和文档字符串作为覆盖。 无法确定覆盖率出现错误的原因,我尝试运行单