使用夸库斯-雅可可进行测试,但未用@QuarkusTest注释



根据Quarkus文档,为了让JaCoCo考虑没有用@QuarkusTest注释的测试类,我们唯一需要做的就是配置JaCoCo插件来执行目标准备代理

我补充了这一点,正如文件所示:

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<exclClassLoaders>*QuarkusClassLoader</exclClassLoaders>
<destFile>${project.build.directory}/jacoco-quarkus.exec</destFile>
<append>true</append>
</configuration>
</execution>
</executions>
</plugin>

尽管如此,我的单元测试还没有被考虑在内。

我的quarkus版本是2.10.3.Final,jacoco插件设置为0.8.8。

我使用jupiter 5.8.2进行单元测试。

感谢

Quarkus IO

正如文档所说,只有在至少运行一个@QuarkusTest的情况下,此设置才有效。jacoco标准设置可能会解决您的问题。在maven构建日志中,您可以读取如下两行:

[INFO] --- jacoco-maven-plugin:0.8.8:report (jacoco-report) @ project-name ---
[INFO] Skipping JaCoCo execution due to missing execution data file.

标准jacoco配置:

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/jacoco-quarkus.exec</destFile>
<append>true</append>
</configuration>
</execution>
</executions>
</plugin>

注意:使用@QuarkusTest注释的标准配置测试不由jacoco插件管理

最新更新