问题标签 [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.
gradle - Gradle - 仅在子项目上运行 Pitest
我试图让詹金斯在我的项目上运行最糟糕的。有一个带有子项目的父 build.gradle 的事实似乎是一个问题。
跑步时gradle pitest
我得到:
12:14:17 PIT >> INFO : 向 minion 发送 0 个测试类
12:14:17 PIT >> INFO : 向 minion 发送测试
12:14:17 PIT >> 严重:生成覆盖范围时出错。请检查您的类路径是否包含 JUnit 4.6 或更高版本。
线程“main”org.pitest.util.PitError 中的异常:覆盖生成minion 异常退出。请检查类路径。
我尝试只为子项目配置pitest,如一些帖子中所建议的那样,但没有任何区别
如果我尝试在子项目上运行 ptest,例如gradle subOne:pitest
gradle 说这样的任务不存在。
有什么建议吗?
gradlew - 父项目pitest失败,但如果单独执行子项目运行良好
我正在使用 gradle wrapper 来运行我的pitest。我有定义最糟糕的父 build.gradle。我的子项目没有任何小项目。如果我在单个项目上运行 Pitest,例如gradlew clean :myproject:pitest。然后pitest就成功了。但是,如果我尝试使用gradlew clean ptest 从父级运行 ptest。然后它失败并出现以下错误
org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:103) 在
org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:49) 在
org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:115) at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:116) at org.pitest.mutationtest.tooling.EntryPoint.execute( EntryPoint.java:49) 在
org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87) 在
org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45) 原因:org.pitest.util.PitError: Coverage generation minion异常退出。请检查类路径。
org.pitest.coverage.execute.DefaultCoverageGenerator.gatherCoverageData(DefaultCoverageGenerator.java:137) 在
org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:87)
当我使用大于错误中提到的 4.6 的 JUNIT 4.12 时,任何人都可以指导可能出现的问题。
console - Pitest:如何将日志输出重定向到文件?
我将使用 Maven 的 Pitest (PIT) 应用到 Java 项目以进行突变分析。控制台的管道运算符仅捕获与 Maven 相关的输出,但不捕获 PIT 的输出。(这在 Linux 和 Windows 上都会发生。)
如何将控制台上显示的日志输出重定向到文件?
java - Java PIT 类路径问题
我有一个文件夹“mutant”,其中包含一个文本文件,其中只有一行名为java.utils.Collection
. 我使用 Randoop 生成了测试用例并将它们保存在同一个文件夹中。测试用例的名称为 RegressionTest*.java 我现在正在尝试运行 PIT 以生成突变体。我根据http://pitest.org/quickstart/commandline/键入的命令如下---
我得到的错误是Exception in thread "main". org.Pitest.help.PitHelpError: No mutations found. This probably means there is an issue with either the supplied classpath or filters
我相信这个问题与targetClasses有关。有人有什么想法吗?
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 配置:
我错过了什么?
谢谢
java - 当任何 PIT 突变失败而不是突变覆盖率时,maven build 可能会失败?
我正在为我的项目使用 ptest-maven 插件,如果有任何突变失败,我希望 maven 构建失败。
但我看不到允许我这样做的配置选项。我可以看到mutationThreshold和coverageThreshold,但这些都不起作用。
理想情况下,我想使用 PIT 来确保我编写的测试不会失败任何突变,而不是尝试满足一揽子覆盖率指标。
有没有办法做到这一点?
当前的Maven配置:
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
那个突变
maven - Pitest找不到突变
我尝试运行“mvn clean test”来获得我的测试的突变覆盖率,但它找不到任何东西。我使用了很多不同的设置,但我找不到解决方案。我的设置可能有误吗?
Pom.xml
重要的日志消息:
java - 我的 PITEST 不会运行。覆盖生成minion异常退出。我需要帮助才能正确配置我的 pom.xml
运行mvn org.pitest:pitest-maven:mutationCoverage
时出现如下错误(
Environment: Windows 10, Maven 3.6.1, Java 11, junit-jupiter 5.4.1, pitest 1.4.7
)
参考:https ://github.com/ooroor/hellostrangeworld/blob/make_pitest_work/pom.xml