问题标签 [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 回答
1261 浏览

java - PITest:配置未正确应用

我的 pom 文件中有以下内容:

pom.xml

当我运行测试时,超时似乎没有从默认的 3000 改变,excludeClasses 中的类仍然被拾取,并且它仍然抱怨 log4j 的配置(虽然它是 log4j2 所以这看起来像是我的错指定)。我在 PITest 文档或其他任何地方都找不到很多示例,除了使用 targetClasses 和 targetTests 的非常简单的示例

编辑:我尝试将报告标签更改为构建标签并删除了 reportSets 部分。仍然没有变化;实用程序 src 包包含 6 个类,其中我在 pom 中概述的 3 个应排除在外,并且在 test 对应包中有 3 个测试文件。记者仍在拉入要排除的类,并显示为 0% 行和突变覆盖率。尽管具有 AvoidCallsTo 值,但它也抱怨 log4j 配置

0 投票
2 回答
2014 浏览

java - 突变杀戮

我被困在 1 点,需要建议。

在为我的代码编写 junit 时,我无法杀死 ValidateArgument.notNull(arg1) 突变!
需要建议。

代码如下..

得到

## 删除了对 com/nokia/oss/configurator/rac/common/util/ValidateArgument::notNull → SURVIVED 的调用

作为返回类型void,杀死这种突变的可能方法是什么?

0 投票
1 回答
1387 浏览

maven - Pitest 找不到测试

我正面临 SonarQube 项目的问题。我想计算一些关于测试质量的统计数据,我正在使用 ptest。不幸的是,它没有发现任何可以变异的测试。

这是我正在分析的模块的pom.xml :

但是当我运行时:

它没有找到测试,即:

PS:maven中的测试正确执行:

我错了什么?

0 投票
1 回答
296 浏览

java - 为 Guava 设置 PITest

我正在尝试为 Guava ( http://pitest.org/ )设置 PIT以进行突变充分性测试,但在尝试运行它时出现以下错误。这是我得到的错误:

基本上,要么 PIT 没有检测到测试,要么测试没有在 PIT 中正常运行并且所有测试都失败了。我读了这篇文章:JUnit 测试通过但 PIT 说套件不是绿色的,我认为“你的代码库是否包含可变静态状态?(例如在单例中)”是问题,但我不知道如何解决它。如果测试套件具有一些隐藏的顺序依赖关系,如何制作它以便我可以在其上运行 PIT?还是测试套件与 PIT 根本不兼容?

0 投票
1 回答
306 浏览

java - Pitest(PIT 突变测试)异常与本地 dynamodb

当我的 java 项目中有本地 dynamoDB lib 文件并使用 gradle 构建时,我收到以下 pi-test 异常。似乎 pi-test 试图打开 lib 文件。也找不到从 pi-test 中排除 lib 文件的方法。

:pitest Exception in thread "main" org.pitest.util.PitError: error in opening zip file (/Users/user1/.gradle/caches/modules-2/files-2.1/com.almworks.sqlite4java/libsqlite4java-linux-i386/1.0.392/b193c62571061e68bddeaf8ee7d3a8569b945ea6/libsqlite4java-linux-i386-1.0.392.so) 如何解决这个问题并对 gradle 项目进行突变测试?

0 投票
1 回答
280 浏览

pitest - 修改pitest target/pit-reports/YYYYMMDDHHMI的默认report文件夹

是否可以重命名报告默认文件夹?

我不想拥有“YYYYMMDDHHMI”,我正在尝试将其重命名为简单且恒定的名称。谢谢

0 投票
1 回答
1948 浏览

windows - Jenkinsfile中使用publishHTML的目录名称通配符无法识别

在我的 Jenkinsfile 中,我使用 publishHTML 来发布PIT的报告。我的步骤如下

index.html 的目录是这样的\target\pit-reports\201612081633。最后一部分201612081633当然每次都不一样。在 Windows 机器上使用target/pit-reports/*/会导致以下错误。

通配符*or**不起作用。如何在 jenkinsfile 中使用通配符作为目录名称,在 windows 或 unix 上执行此操作有什么区别?

0 投票
1 回答
155 浏览

java - 运行自定义 PIT 突变引擎插件的问题

我正在为PIT编写一个自定义 Mutation Engine ,但我很难让 PIT 找到它。我的猜测是,在使用项目运行 PIT 时,我没有将带有我自己引擎的包放在正确的类路径中。为了测试我的引擎,我正在使用这段代码,并且正在使用 Maven 插件运行 PIT。在 pom.xml 文件中,我在 AdditionalClassPathElements 标记中写入了自定义引擎的名称,甚至它的路径。似乎没有任何效果。PIT 一直说找不到引擎。哪个是安全验证它是否是类路径问题的最佳方法?或者哪个是让 PIT 找到我的包并能够使用插件最简单的方法?

提前致谢,

0 投票
1 回答
70 浏览

java - PIT工具的变异生成格式

我对突变测试很感兴趣,我想用突变测试工具在代码中生成错误,我发现了 PIT。此外,我正在阅读一篇关于回归测试的论文,它在其网站上提供了实验数据。数据中的一个是 PIT 的输出,它是这种格式的故障:

或者

等等

但我不明白输出的格式和它是什么。

请你帮助我好吗?

0 投票
1 回答
1013 浏览

maven - Pitest - PIT 需要 JUnit 4(但可以运行 JUnit 3 测试)或 TestNG

我正在尝试使用 ptest 在 Apache Airavata (v0.16) 上应用突变测试。我在 build plugins 标签下的 pom.xml 文件中添加了以下几行:

它给了我以下错误。

我没有 TestNG,但 junit4 路径包含在 CLASSPATH 中。我尝试提供如下一些有针对性的测试用例,但它也不起作用。

我也尝试了以下标签,但它根本没有帮助。