PIT是“一种用于Java的基于快速字节码的突变测试系统,可以测试单元测试的有效性”。 这是一个非常年轻的项目,但很有希望。 它提供了一组变异运算符 ,这些变异运算符可以修改条件语句,数学运算,返回值和方法调用。
从最近发布的版本0.25开始,PIT(以实验方式)支持基于TestNG的测试(基于JUnit的测试除外)。 要从Maven使用它,需要将pitest-maven插件添加到pom.xml:
<plugin><plugin><groupid>org.pitest</groupid><artifactid>pitest-maven</artifactid><version>0.25</version>
</plugin>
</plugin>
在许多情况下,这就足够了。 默认情况下,inScopeClasses(用于运行的可变类和测试)和targetClasses(仅用于变异的候选对象)默认使用项目groupId,通常可以省略。 插件配置中可以配置几个选项 。 “ mvn org.pitest:pitest-maven:mutationCoverage”执行修改后的测试并生成突变报告,默认情况下该报告保存在target / pit-reports / yyMMddHHmm目录中。
指定类别的样本报告(单击放大)显示行覆盖率和突变覆盖率。 尽管有100%的线覆盖率(背景为浅绿色的线),PIT发现测试数据集无法正确覆盖边界条件。
参考:来自Solid Soft博客的JCG合作伙伴 Marcin Zajaczkowski的PIT和TestNG突变测试简介 。
翻译自: https://www.javacodegeeks.com/2012/04/introduction-to-mutation-testing-with.html