PITest:配置应用不正确
PITest: Configuration isn't applied correctly
我的 pom 文件中有以下内容:
pom.xml
<reporting>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.1.8</version>
<configuration>
<targetClasses>
<param>com.myService.utility.*</param>
</targetClasses>
<reportsDirectory>/my-service/target</reportsDirectory>
<targetTests>
<param>com.myService.utility.util.*</param>
</targetTests>
<timeoutConstant>5000</timeoutConstant>
<excludeClasses>
<param>com.myService.utility.EmailImpl.java</param>
<param>com.myService.utility.Email.java</param>
<param>com.myService.utility.ValidationUtil.java.java</param>
</excludeClasses>
<avoidCallsTo>
<avoidCallsTo>org.apache.log4j</avoidCallsTo>
<avoidCallsTo>org.slf4j</avoidCallsTo>
<avoidCallsTo>org.apache.commons.logging</avoidCallsTo>
</avoidCallsTo>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
当我 运行 测试时,超时似乎没有从默认的 3000 改变,excludeClasses 中的 类 仍然被拾取,并且它仍然抱怨 log4j 的配置(尽管它是 log4j2,所以这看起来像是我没有指定的错)。我无法在 PITest 文档或其他任何地方找到很多示例,除了使用 targetClasses 和 targetTests
的非常简单的示例
编辑:我尝试更改报告标签以构建标签并删除了 reportSets 部分。仍然没有变化;实用程序 src 包包含 6 个 类,其中应该排除我在 pom 中列出的 3 个,并且测试对应包中有 3 个测试文件。报告者仍在拉入要排除的 类 并显示为 0% 线和突变覆盖率。它也抱怨 log4j 配置尽管 avoidCallsTo 值
需要在build/plugins下提供配置,不上报
不幸的是,maven 在无法将 XML 映射到插件时不会抛出任何错误。
Included/excluded 类 接受针对 java 包的 glob - 不是源文件所以应该看起来像 :-
<excludeClasses>
<param>com.myService.utility.EmailImpl</param>
<param>com.myService.utility.Email</param>
<param>com.myService.utility.ValidationUtil</param>
</excludeClasses>
我的 pom 文件中有以下内容:
pom.xml
<reporting>
<plugins>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.1.8</version>
<configuration>
<targetClasses>
<param>com.myService.utility.*</param>
</targetClasses>
<reportsDirectory>/my-service/target</reportsDirectory>
<targetTests>
<param>com.myService.utility.util.*</param>
</targetTests>
<timeoutConstant>5000</timeoutConstant>
<excludeClasses>
<param>com.myService.utility.EmailImpl.java</param>
<param>com.myService.utility.Email.java</param>
<param>com.myService.utility.ValidationUtil.java.java</param>
</excludeClasses>
<avoidCallsTo>
<avoidCallsTo>org.apache.log4j</avoidCallsTo>
<avoidCallsTo>org.slf4j</avoidCallsTo>
<avoidCallsTo>org.apache.commons.logging</avoidCallsTo>
</avoidCallsTo>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
当我 运行 测试时,超时似乎没有从默认的 3000 改变,excludeClasses 中的 类 仍然被拾取,并且它仍然抱怨 log4j 的配置(尽管它是 log4j2,所以这看起来像是我没有指定的错)。我无法在 PITest 文档或其他任何地方找到很多示例,除了使用 targetClasses 和 targetTests
的非常简单的示例编辑:我尝试更改报告标签以构建标签并删除了 reportSets 部分。仍然没有变化;实用程序 src 包包含 6 个 类,其中应该排除我在 pom 中列出的 3 个,并且测试对应包中有 3 个测试文件。报告者仍在拉入要排除的 类 并显示为 0% 线和突变覆盖率。它也抱怨 log4j 配置尽管 avoidCallsTo 值
需要在build/plugins下提供配置,不上报
不幸的是,maven 在无法将 XML 映射到插件时不会抛出任何错误。
Included/excluded 类 接受针对 java 包的 glob - 不是源文件所以应该看起来像 :-
<excludeClasses>
<param>com.myService.utility.EmailImpl</param>
<param>com.myService.utility.Email</param>
<param>com.myService.utility.ValidationUtil</param>
</excludeClasses>