【发布时间】:2018-11-29 11:56:28
【问题描述】:
我有多个配置文件的 Maven 项目。在一个配置文件中,我有插件配置(jacoco-maven-plugin 强制测试覆盖率):
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<configuration>
<rules>
<rule>
<limits>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>0.50</minimum>
</limit>
<!-- many other limits here -->
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
但在 Windows 上,我想跳过一些测试并更改覆盖范围限制,我正在尝试这样做:
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration combine.children="append">
<excludes>
<exlude>com.example.SomeTest</exclude>
</exclude>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<configuration>
<rules>
<rule>
<limits>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>0.49</minimum>
</limit>
</limits>
</rule>
</rules>
<excludes>
<exlude>com.example.SomeTest</exclude>
</exclude>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
这个测试com.exaple.SomeTest现在不在windows上执行并且从覆盖报告中排除,但是jacoco-maven-plugin没有改变:它不影响插件配置,我也尝试使用<limit combine.children="override">和<limit combine.children="append">代替<limit>.
如何正确覆盖配置文件插件配置中的一个限制 (COVEREDRATIO)?
【问题讨论】:
标签: maven pom.xml maven-plugin jacoco jacoco-maven-plugin