我相信并非所有私有方法都应该作为代码的独立部分进行测试。这就是为什么我想将它们从PIT 测试工具maven 插件的pit-reports 中排除。我试图找到一种方法来做到这一点,但失败了。在excludedMethods主题的文档中描述了一些关闭配置,但这显然不是排除每个私有方法的正确方法。
所以我的问题是在哪里可以排除 PIT 分析的所有私有方法?
您可以通过实现 MutationInterceptor 来排除私有方法
http://pitest.org/quickstart/advanced/
但是,您可能不想这样做。
尽管私有方法不应作为代码的独立部分进行测试,但它们实现的行为(通过公共 api 访问)应该由快速且高度可重复的测试(即单元测试)来描述。
因此,尽管为私有方法编写显式测试是一个坏主意,但如果您的测试套件没有消除私有方法中的突变,这意味着您的测试套件或私有方法中的代码很弱或不必要。