PIT变异测试Maven插件会跳过所有私有方法

Vla*_*iev 1 java unit-testing mutation-testing pitest

我认为并非所有私有方法都应作为代码的独立部分进行测试。这就是为什么我要从PIT测试工具 maven插件的坑报告中排除它们的原因。我试图找到一种方法来做,但是失败了。这里的一些配置接近,在排除方法主题中的文档中进行了介绍,但这显然不是排除每个私有方法的正确方法。

所以我的问题是,从PIT分析中排除所有私有方法的方法是什么?

hen*_*nry 5

您可以通过实现MutationInterceptor排除私有方法

http://pitest.org/quickstart/advanced/

但是,您可能不想这样做。

尽管私有方法不应作为代码的独立部分进行测试,但应通过快速且高度可重复的测试(即单元测试)来描述它们实现的行为(通过公共api访问)。

因此,尽管为私有方法编写显式测试是一个坏主意,但是如果您的测试套件不能消除私有方法中的突变,则意味着您的私有方法中包含弱测试套件或不必要的代码。