问题标签 [mutation-testing]

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 回答
87 浏览

java - 使用 MuClipse 获取突变和测试用例信息

我正在使用 MuClipse,我需要获取有关哪个用例杀死哪个突变体的信息。MuClipse 仅提供突变分数。如何从 MuClipse 获取这些信息?

0 投票
1 回答
296 浏览

angular - Stryker/Angular6:从模板应用程序上的标准@Component 中删除突变体

我已经使用 Angular 6 创建了一个基本的模板应用程序,我正在尝试让Stryker Mutation 测试对其进行。在基本主页上:

我有这个页面的基本测试文件:

虽然这通过并测试将创建主页,但我仍然拥有 Stryker 突变错误.

在基本主页上,@Component 有 3 个字段,它们都生成突变幸存者,因为它们是文字文本。我不知道如何编写一个能杀死这些突变幸存者的测试。

如果我不能编写测试来处理这种情况,Stryker 似乎没有一种方法可以忽略一段代码作为替代。

0 投票
1 回答
517 浏览

ruby - 使用 Rspec 进行突变测试

我正在尝试使用 rspec 对一些 ruby​​ 代码执行突变测试。我只是在学习红宝石,我真的不知道我是否做得对。我要测试的部分代码是:

到目前为止,我的测试套件如下所示:

运行 rspec 时,我的 3 个测试通过了。但是,当我在这个套件上使用突变测试时,我只杀死了 3/343,这不是很好。

0 投票
1 回答
526 浏览

php - PHP 感染所有突变体都没有被测试覆盖

我正在尝试将感染/感染php 突变测试库实施到我的一个新项目中。我已经设置了一些测试都通过了,然后进行了感染。

感染返回以下内容:

当我更深入地研究我的infection-log.txt时,我发现许多未发现的突变体都是针对Function Signature Visibility mutator的。

我遇到的问题是我的测试确实涵盖了这些方法。我手动将我的一些方法从公共更改为受保护,重新运行了我的 phpunit 测试并且测试失败了。我真的不知道从哪里开始。我有一种预感,感染无法正确检测到我的 phpunit 测试套件,但我在其他地方找不到任何关于此问题的讨论。

如果有人有任何想法,请告诉我。

0 投票
1 回答
83 浏览

php - 在感染测试期间始终完成 phpunit-tests:失败后不调用拆卸方法

我使用感染测试框架https://github.com/infection/infection

在测试期间,代码的某些部分发生了更改,因此测试失败并且没有完全运行,也没有使用 PHPUnit Teardown 方法。

我的问题是:即使突变体使测试失败,是否有人知道使用拆卸方法进行感染测试的方法?

我在自述文件中没有找到选项。也许 PHPUnit 有一种方法可以清除所有测试数据,即使失败(如果没有致命错误)。

我希望我的问题是可以理解的。请原谅我的英语不好。

提前非常感谢。

0 投票
1 回答
2156 浏览

java - 在 Intellij IDEA 中生成 Pitest 报告失败

我在 IntelliJ IDEA 中使用 Pitest 进行突变测试(插件:https ://plugins.jetbrains.com/plugin/7119-pit-mutation-testing-idea-plugin )。运行所有测试用例后,我在执行结束时收到以下消息:

线程“main”org.pitest.help.PitHelpError 中的异常:计算行覆盖率时,所有测试都没有通过突变。突变测试需要绿色套件。有关详细信息,请参阅http://pitest.org 。 在 org.pitest.coverage.execute.DefaultCoverageGenerator.verifyBuildSuitableForMutationTesting(DefaultCoverageGenerator.java:109) 在 org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:94) 在 org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage (DefaultCoverageGenerator.java:49) 在 org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:115) 在 org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:117) 在 org.pitest。 org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87) 上的 mutationtest.tooling.EntryPoint.execute(EntryPoint.java:49) org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java: 45)

进程以退出代码完成 1 在浏览器中打开报告

我无法在浏览器中打开报告,因为未生成文件。

我已经编辑了 Pitest 配置:

我错过了什么?

谢谢

0 投票
1 回答
165 浏览

python - 为python程序生成突变体

现有的 Python 突变测试工具(如 Cosmic Ray 或 Mutpy)似乎不存储生成的突变体。我想找到一个可以为python程序生成和存储突变体的工具,因为我需要突变体。这种工具存在吗?

0 投票
1 回答
78 浏览

testing - 主要突变框架 0 个突变涵盖

当我在提供的示例上运行主要工具 ( http://mutation-testing.org/ ) 时,我能够生成和分析突变体。

我也能够从我自己的 .java 文件中生成突变体,但是当我尝试在它们上运行我的 junit 测试套件时,它报告了 0 个突变体。

谁能告诉我为什么会这样?

0 投票
1 回答
428 浏览

mutation-testing - PITEST增量分析找不到本地hash文件

我目前正在尝试 PITest,到目前为止它工作正常。但是,它非常慢,到目前为止唯一的解决方案是使用增量分析,这可能会解决缓慢的问题。我试图按照文档中的描述进行设置。这是我的配置:

但是,在实践中,我没有看到 PITest 将 historyInput 和 historyOutput 考虑在内,而是在我看到的日志中

我尝试了很多不同的设置,但它们似乎都不起作用。有什么我想念的吗?

更新

最后,事实证明插件定义来自 parent-pom,并且在继承的 child-pom 中覆盖它是部分可能的。

0 投票
2 回答
3958 浏览

java - 坑突变 - if ( x !=null ) return null else throw new RuntimeException

我有一个返回自定义对象的方法

它的单元测试检查getTheObject()方法返回的对象不为空

并且测试通过。

当使用 Pitest运行突变测试时,它会显示一个SURVIVED突变,如下所示:

问题是我们的单元测试应该是什么样子才能摆脱这个问题和KILL那个突变