问题标签 [pitest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3248 浏览

pitest - PITest 找不到测试

我们的项目都是与整个公司的母公司一起设置的。对于我正在处理的项目,我们有一个根 pom 引用该父级,其下有许多模块。尝试将 PITest 与这些模块中的任何一个单独或在根模块中使用会导致没有运行测试。

查看详细输出,您可以看到 PITest 报告选项包含我的目录作为位置,但是在类路径详细输出中,没有对我的目标目录的引用。我不知道这是否是它找不到我的测试的原因,但绝对不是配置。我在我的 Maven 配置中拥有最广泛的参数,<targetClasses>com.company.*</targetClasses>并且<targetTests>com.company.*</targetTests>

0 投票
0 回答
449 浏览

intellij-idea - IntelliJ PitTest 插件缺少依赖项?

我已经为 IntelliJ 安装了 PIT Mutation testing Idea 插件。我在 Java 8 中有一个小型演示项目,它完美地运行了变异测试。

我们更大的项目,仍然是 Java 7,由一个带有许多 Maven 模块的父级组成。我不确定问题出在模块上还是其他一些依赖问题上,但是当我在这个项目上运行插件时,它会失败并出现以下错误。除了我不是唯一一个之外,谷歌并没有提供太多帮助,所以我希望 SO 上的任何人都遇到了这个问题并知道如何解决它。

我在构建后得到的错误(当变异测试应该开始运行时)是:

感谢你的回复!

亲切的问候,

约翰·克拉格特

0 投票
1 回答
530 浏览

mutation-testing - 我们如何在 Pitclipse 中激活和使用非默认停用的变异器?

我在 Eclipse 上使用 PITclipse 对代码运行 PIT 突变测试。我注意到在 PIT 文档中,它指出默认情况下未激活某些突变器。即使在 PITclipse 中,似乎也没有使用这些突变器。我想知道是否有任何方法可以激活和使用非默认突变器并对代码运行相同的代码以获得完整的故障覆盖?

参考网址:http: //pitest.org/quickstart/mutators/

0 投票
1 回答
584 浏览

java - 在 PITest 中排除某些代码行

我正在使用优秀的 PITest 框架。我想知道 PITest 中是否有与声纳“// NOSONAR”等效的东西,从而某些行会被排除在 PITest 覆盖范围之外(因此报告上不是红色的)?我知道可以排除方法和类,我只是在寻找更细粒度的行级别的东西。

我的用例如下:

}

我遇到的问题是“默认”子句无法访问,因为所有枚举当前都被 switch 语句覆盖。我们添加“detault”语句的原因(除了它是一个很好的做法之外)是为了枚举在未来得到扩展。

有任何想法吗?

0 投票
2 回答
218 浏览

java - 自动识别 Pitest 中哪些测试用例杀死了哪些突变体

我正在使用 Pitest 进行突变测试,并且我需要大量突变体用于一个项目(例如 500 个突变体)。我需要一个矩阵来显示 Pitest 创建了哪些突变体,被哪些测试用例杀死。我可以手动完成,但需要很长时间。

可以自动完成吗?如果是,如何,如果不是,我对解决方案的选择是什么?

0 投票
1 回答
2559 浏览

java - piTest 删除了对“forEach”的调用 SURVIVED

TL; DR我认为突变应该被杀死,但它幸存了下来。我正在寻找它发生的原因以及如何解决这两个问题:(1)超时(2)突变幸存下来。

详细信息我有一个springWeb 应用程序并正在使用testng. 我已经提取了代码的相关部分。如果我在提取此问题的代码时引入了任何问题,请原谅。我有一个通过测试用例,它验证 callFunction 被调用了 8 次。这已使用verify(a, atLeast(8)).called();在查看 piTest 报告后进行验证,似乎如果callFunction删除了该功能,该功能仍将有a.called();8 次......这是出乎意料的。

我已经通过callFunction从源中删除进行了检查,并且测试用例确实失败了。请参阅已修改1 Rat.java部分。

此外,我通过删除 进行了检查,forEach并且测试用例确实失败了。见修改2 Rat.java

还有一个更有趣的事情是,当我只更改文本的(格式)位置时,如Modified3部分Rat.java所示,报告发生了变化。 Rat.javapiTest

类型.java

动作.java

大鼠.java

通知下一行

RatTest.java

Modified1 Rat.java -- 测试失败

Modified2 Rat.java -- 测试失败

Modified3 Rat.java——又创建了一个突变

0 投票
1 回答
26 浏览

java - 插件会像 Maven 项目的依赖项一样下载文件吗?

我正在尝试使用可在线进行突变测试的 PIT 工具,我注意到它为 maven 项目的 pom.xml 文件使用了插件标记。我查看了 Maven 存储库以查看,但他们从未提及插件是否将文件下载到您的系统。插件会像依赖项一样下载文件吗?还是不下载文件?

如果没有,有什么办法可以吗?我需要编辑一些文件以允许类项目的其他突变。

0 投票
1 回答
280 浏览

java - Pitest 无法启动,因为非法重复

我刚刚通过添加构建插件“org.pitest:pitest-maven:1.2.4”在我的 maven 项目上配置了 PiTest,但是当我运行 mvn compile org.pitest:pitest-maven:mutationCoverage 或 mvn org.pitest 时: pitest-maven:mutationCoverage 甚至在开始使用此堆栈跟踪之前就失败了。(mvn -X org.pitest:pitest-maven:mutationCoverage)

0 投票
1 回答
2278 浏览

java - PIT 未发现突变

输出:

我想知道为什么过滤器不正确。我已经将我拥有的所有东西都放在了 CP 上,并尝试了带有星 * 或特定类路径的 targetClasses/testClasses。

谢谢!

0 投票
0 回答
53 浏览

eclipse - 如何在我自己的代码中启动第三方插件并在 eclipse 中使用它的方法?

我正在做一个项目来获取我编写的每个测试的变异分数,每次我更改输入时,我都想调用名为 Pitclipse 的 eclipse 插件并返回与输入对应的变异分数。

实际上这是一个优化问题,其中变异分数是要最大化的对象函数,我想找到变异分数高的测试用例。

您知道每次我在自己的代码上调用这个第三方插件时如何启动它吗?