问题标签 [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.
java - 使用 MuClipse 获取突变和测试用例信息
我正在使用 MuClipse,我需要获取有关哪个用例杀死哪个突变体的信息。MuClipse 仅提供突变分数。如何从 MuClipse 获取这些信息?
angular - Stryker/Angular6:从模板应用程序上的标准@Component 中删除突变体
我已经使用 Angular 6 创建了一个基本的模板应用程序,我正在尝试让Stryker Mutation 测试对其进行。在基本主页上:
我有这个页面的基本测试文件:
在基本主页上,@Component 有 3 个字段,它们都生成突变幸存者,因为它们是文字文本。我不知道如何编写一个能杀死这些突变幸存者的测试。
如果我不能编写测试来处理这种情况,Stryker 似乎没有一种方法可以忽略一段代码作为替代。
ruby - 使用 Rspec 进行突变测试
我正在尝试使用 rspec 对一些 ruby 代码执行突变测试。我只是在学习红宝石,我真的不知道我是否做得对。我要测试的部分代码是:
到目前为止,我的测试套件如下所示:
运行 rspec 时,我的 3 个测试通过了。但是,当我在这个套件上使用突变测试时,我只杀死了 3/343,这不是很好。
php - PHP 感染所有突变体都没有被测试覆盖
我正在尝试将感染/感染php 突变测试库实施到我的一个新项目中。我已经设置了一些测试都通过了,然后进行了感染。
感染返回以下内容:
当我更深入地研究我的infection-log.txt时,我发现许多未发现的突变体都是针对Function Signature Visibility mutator的。
我遇到的问题是我的测试确实涵盖了这些方法。我手动将我的一些方法从公共更改为受保护,重新运行了我的 phpunit 测试并且测试失败了。我真的不知道从哪里开始。我有一种预感,感染无法正确检测到我的 phpunit 测试套件,但我在其他地方找不到任何关于此问题的讨论。
如果有人有任何想法,请告诉我。
php - 在感染测试期间始终完成 phpunit-tests:失败后不调用拆卸方法
我使用感染测试框架https://github.com/infection/infection
在测试期间,代码的某些部分发生了更改,因此测试失败并且没有完全运行,也没有使用 PHPUnit Teardown 方法。
我的问题是:即使突变体使测试失败,是否有人知道使用拆卸方法进行感染测试的方法?
我在自述文件中没有找到选项。也许 PHPUnit 有一种方法可以清除所有测试数据,即使失败(如果没有致命错误)。
我希望我的问题是可以理解的。请原谅我的英语不好。
提前非常感谢。
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 配置:
我错过了什么?
谢谢
python - 为python程序生成突变体
现有的 Python 突变测试工具(如 Cosmic Ray 或 Mutpy)似乎不存储生成的突变体。我想找到一个可以为python程序生成和存储突变体的工具,因为我需要突变体。这种工具存在吗?
testing - 主要突变框架 0 个突变涵盖
当我在提供的示例上运行主要工具 ( http://mutation-testing.org/ ) 时,我能够生成和分析突变体。
我也能够从我自己的 .java 文件中生成突变体,但是当我尝试在它们上运行我的 junit 测试套件时,它报告了 0 个突变体。
谁能告诉我为什么会这样?
mutation-testing - PITEST增量分析找不到本地hash文件
我目前正在尝试 PITest,到目前为止它工作正常。但是,它非常慢,到目前为止唯一的解决方案是使用增量分析,这可能会解决缓慢的问题。我试图按照文档中的描述进行设置。这是我的配置:
但是,在实践中,我没有看到 PITest 将 historyInput 和 historyOutput 考虑在内,而是在我看到的日志中
我尝试了很多不同的设置,但它们似乎都不起作用。有什么我想念的吗?
更新
最后,事实证明插件定义来自 parent-pom,并且在继承的 child-pom 中覆盖它是部分可能的。
java - 坑突变 - if ( x !=null ) return null else throw new RuntimeException
我有一个返回自定义对象的方法
它的单元测试检查getTheObject()
方法返回的对象不为空
并且测试通过。
当使用 Pitest运行突变测试时,它会显示一个SURVIVED
突变,如下所示:
问题是我们的单元测试应该是什么样子才能摆脱这个问题和KILL
那个突变