使用Azure构建管道时,从JaCoCo中排除多模块maven项目中的测试目录



这感觉应该很容易,所以请帮我指明正确的方向。

我成功地使用maven使用Azure Pipeline构建了我的java项目。我还成功地获得了JaCoCo的报道。

我有一个包含多个模块的maven项目。下面是一个示例项目结构。我想排除所有子src/test/java目录/包中的所有内容。

myproject

mod1
src/main/java/...
src/test/java/...
pom.xml
mod2
src/main/java/...
src/test/java/...
pom.xml
pom.xml

我本以为会将codeCoverageClassFilter设置为-:*.src.test.java*.*,但我的任何变体都不起作用。排除所有这些测试目录的正确语句是什么?

对于排除的测试,在pom父中添加下一个配置

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.6</version>
<configuration>
<excludes>
<exclude>com/acme/test/*</exclude>
</excludes>
</configuration>
<executions>
<!-- prepare agent for measuring integration tests -->
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>

最新更新