问题标签 [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 投票
0 回答
312 浏览

sonarqube - 如何在 Sonarqube 而不是 JaCoco 中获取 Pitest 覆盖率报告?

我使用 Sonarqube 6.7.1 和 Gradle 3.0 中的项目。

我成功生成 Pitest 报告,Sonarqube 获取 Pitest xml 报告并成功创建问题。我需要将 jaCoco 项目覆盖率替换为 Pitest 线覆盖率,因为该项目使用 powermock 进行了测试,并且 jaCoco 覆盖率不具有代表性。

如果您有什么建议,欢迎采纳。

谢谢。

0 投票
1 回答
3374 浏览

java - 如何杀死条件边界突变体

我开始深入研究代码分析和突变体。我在我的 Eclipse 项目中使用 PITest 作为插件。我遇到了这个我无法杀死的变种人。假设我有以下代码。

据我了解,如果有一个不属于SPECIAL_CHARS(比如说()的字符,变量i会增加。PITest 报告了两个突变体。

在此处输入图像描述

与以下信息。

在此处输入图像描述

在此处输入图像描述

我试图编写几个可能会在没有任何运气的情况下杀死这个突变体的 Junit 测试。有人可以解释一下如何杀死它吗?

我现在知道,如果我的密码?作为字符串password的第一个字符,则条件边界检查可能会被终止。增量呢?这是什么意思?

0 投票
1 回答
37 浏览

sql - 是否有一个插件来改变 PIT 的 SQL

在使用 PIT 进行突变测试期间是否有一个插件可以改变 SQL 代码?

0 投票
4 回答
8162 浏览

java - 从 PIT 执行中排除测试

我必须将我的集成测试排除在 PIT 的执行之外。excludedTestClasses从 1.3.0 版开始有一个选项。我试图通过 PIT 的 Maven 插件的以下配置来通过这些测试。

然而,PIT 仍在执行所有带有后缀的测试IT。我看了看源,但在晚上迷路了;-)

那么,我怎样才能跳过我的集成测试呢?

0 投票
2 回答
440 浏览

java - 使用pitest时过滤ant中的类

让我们考虑这个基本的 ant+pitest 示例:https ://github.com/hcoles/pitest-ant-example

测试类的类路径定义如下:

现在,假设我想更改它以过滤掉一些类。例如,我只想包含名称以“Partially”开头的测试类:

不幸的是,这个解决方案给了我以下错误:

该文件/root/pitest-ant-example/build/test-classes/com/example/PartiallyTestedTest$1.class确实存在。

我究竟做错了什么 ?如何过滤我想使用的测试类?

0 投票
1 回答
1100 浏览

java - PIT Mutation Testing maven 插件跳过所有私有方法

我相信并非所有私有方法都应该作为代码的独立部分进行测试。这就是为什么我想将它们从PIT 测试工具maven 插件的pit-reports 中排除。我试图找到一种方法来做到这一点,但失败了。在excludedMethods主题的文档中描述了一些关闭配置,但这显然不是排除每个私有方法的正确方法。

所以我的问题是在哪里可以排除 PIT 分析的所有私有方法?

0 投票
2 回答
3863 浏览

java - 当pitest找不到测试类时

这似乎是一个很常见的问题,我个人至少偶然发现了几次。

一些主要原因是:

然而,今天我偶然发现了一个新的 0 测试案例,我很难解决。让我们考虑这个项目:https ://github.com/bonnyfone/vectalign 。
这是一个小项目,仅包含一个测试类:

我添加了pitest到pom.xml

我运行命令mvn clean test org.pitest:pitest-maven:mutationCoverage。虽然测试运行得很好,但由于某种原因,pitest 无法找到它们:

你可以在pom.xml这里找到完整的:https
://pastebin.com/F28ZpcMk 这里是完整的输出mvn clean test org.pitest:pitest-maven:mutationCoveragehttps ://pastebin.com/tWHgq43a

现在我的问题是,在这种特殊情况下出了什么问题?Pitest 如何确定哪些是测试类?

您的帮助将不胜感激:)

0 投票
1 回答
2772 浏览

maven-plugin - 正确设置pitest-maven报告聚合目标

伙计们!我尝试在我的 Maven / Java 项目中使用 ptest-maven 插件,但它显然无法生成汇总报告(考虑到我有一个多模块项目)。我从官方网站和其他几个来源收集了一些信息,但是,它们都没有真正有助于为这种场景定义正确的配置。简而言之,我的结构如下所示:

父项目

  • 孩子A
  • 孩子B
  • 孩子 ...
  • 孩子 N

在某些子模块中,执行 pi-test 确实有意义,而其他子模块则没有。可以这么说,我的配置总体来说是。

父模块 pom:

具有突变的子项目:

最后,当我尝试执行阶段 站点(如父项中定义的那样)时,即使我执行了创建文件(例如linecoverage.xmlmutation.xml的全新安装) ,我也会收到此错误:

如果我做了错误的配置,或者是否有更好的方法来完成此设置的任何部分,你们中的任何人都知道吗?

0 投票
1 回答
4819 浏览

code-coverage - PIT 测试 - 需要从报告中排除某些包

我正在尝试生成 PIT 测试覆盖率报告,我需要排除某个包。这些是使用的配置:

但我的报告仍然显示 test.security.* 包和 test.service.impl.AuthenticationServiceImpl.userAuthentication 方法的覆盖率。

如何在覆盖率报告中跳过这个包和方法?

0 投票
1 回答
82 浏览

pitest - 当项目没有运行 ptest 时,不会触发 Pitest 突变的质量门

我们在 sonarqube 中使用 Pitest 插件并设置突变覆盖质量门,因为它比其他覆盖测量更有价值。只是,当推送一个不使用pitest的项目时,根本不会触发质量门。是否有可能定义一个质量门来检测根本没有为项目定义的pitest?谢谢