问题标签 [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.
sonarqube - 如何在 Sonarqube 而不是 JaCoco 中获取 Pitest 覆盖率报告?
我使用 Sonarqube 6.7.1 和 Gradle 3.0 中的项目。
我成功生成 Pitest 报告,Sonarqube 获取 Pitest xml 报告并成功创建问题。我需要将 jaCoco 项目覆盖率替换为 Pitest 线覆盖率,因为该项目使用 powermock 进行了测试,并且 jaCoco 覆盖率不具有代表性。
如果您有什么建议,欢迎采纳。
谢谢。
sql - 是否有一个插件来改变 PIT 的 SQL
在使用 PIT 进行突变测试期间是否有一个插件可以改变 SQL 代码?
java - 从 PIT 执行中排除测试
我必须将我的集成测试排除在 PIT 的执行之外。excludedTestClasses
从 1.3.0 版开始有一个选项。我试图通过 PIT 的 Maven 插件的以下配置来通过这些测试。
然而,PIT 仍在执行所有带有后缀的测试IT
。我看了看源,但在晚上迷路了;-)
那么,我怎样才能跳过我的集成测试呢?
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
确实存在。
我究竟做错了什么 ?如何过滤我想使用的测试类?
java - 当pitest找不到测试类时
这似乎是一个很常见的问题,我个人至少偶然发现了几次。
一些主要原因是:
- 在运行 Pitest 之前忘记运行测试(从而创建测试类):Pitest can't detect class of test,PITest cannot find tests。
- 未配置
targetTests
:pitest 找不到测试 assert
关键字使用不当: pitest 无法定位 junit test
然而,今天我偶然发现了一个新的 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:mutationCoverage
:https ://pastebin.com/tWHgq43a
现在我的问题是,在这种特殊情况下出了什么问题?Pitest 如何确定哪些是测试类?
您的帮助将不胜感激:)
maven-plugin - 正确设置pitest-maven报告聚合目标
伙计们!我尝试在我的 Maven / Java 项目中使用 ptest-maven 插件,但它显然无法生成汇总报告(考虑到我有一个多模块项目)。我从官方网站和其他几个来源收集了一些信息,但是,它们都没有真正有助于为这种场景定义正确的配置。简而言之,我的结构如下所示:
父项目
- 孩子A
- 孩子B
- 孩子 ...
- 孩子 N
在某些子模块中,执行 pi-test 确实有意义,而其他子模块则没有。可以这么说,我的配置总体来说是。
父模块 pom:
具有突变的子项目:
最后,当我尝试执行阶段 站点(如父项中定义的那样)时,即使我执行了创建文件(例如linecoverage.xml和mutation.xml的全新安装) ,我也会收到此错误:
如果我做了错误的配置,或者是否有更好的方法来完成此设置的任何部分,你们中的任何人都知道吗?
code-coverage - PIT 测试 - 需要从报告中排除某些包
我正在尝试生成 PIT 测试覆盖率报告,我需要排除某个包。这些是使用的配置:
但我的报告仍然显示 test.security.* 包和 test.service.impl.AuthenticationServiceImpl.userAuthentication 方法的覆盖率。
如何在覆盖率报告中跳过这个包和方法?
pitest - 当项目没有运行 ptest 时,不会触发 Pitest 突变的质量门
我们在 sonarqube 中使用 Pitest 插件并设置突变覆盖质量门,因为它比其他覆盖测量更有价值。只是,当推送一个不使用pitest的项目时,根本不会触发质量门。是否有可能定义一个质量门来检测根本没有为项目定义的pitest?谢谢