我正在尝试从变异的I/O方法中排除PIT,例如“close”和“flush”。以下是我的Maven配置:
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.1.3</version>
<configuration>
<targetClasses>
<param>my.package.*.*</param>
</targetClasses>
<targetTests>
<param>my.package.*.*</param>
</targetTests>
<excludedClasses>
<param>my.generated.*</param>
<param>**.*IT</param>
</excludedClasses>
<excludedMethods>
<param>close</param>
<param>flush</param>
</excludedMethods>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</configuration>
</plugin>
excludedClasses似乎是可以工作的,但是excludedMethods却不行。例如,PIT的结果仍然表明删除"close"和"flush"调用对测试结果没有影响。
问题:我错过了什么吗?
close和flush等方法添加到其中是最佳实践,还是我们应该以某种方式更改测试以在未被调用时失败? - ArtOfWarfare