即使测试失败,也可以使用 JaCoCo 继续进行代码覆盖率报告

问题描述 投票:0回答:1

我在 VS Code 中有一个 Java 项目,我使用 Maven 作为我的框架。我设置了 JaCoCo 来为我的单元测试运行代码覆盖率报告。我使用以下命令运行它:

mvn jacoco:prepare-agent test install jacoco:report -X 

但是,当至少有一个测试失败时,代码覆盖率报告将不会运行:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.2:test (default-test) on project <REDACTED> There are test failures.
[ERROR] 
[ERROR] Please refer to <REDACTED>/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.

我在其他地方看到过类似的问题,但大多数都是为了 Android/Gradle 或者说使用

-Djacoco.haltOnFailure=false

我尝试了以下命令,但这也不起作用。

mvn jacoco:prepare-agent test install -Djacoco.haltOnFailure=false jacoco:report -X 

如何让 JaCoCo 创建覆盖率报告,忽略失败的测试?

java maven jacoco
1个回答
0
投票

嗨,您可以通过添加

-Dmaven.test.failure.ignore=true
来实现此目的,这样您的 bash 命令将如下所示 -

mvn jacoco:prepare-agent test -Dmaven.test.failure.ignore=true install jacoco:report -X 

通过设置

-Dmaven.test.failure.ignore=true
即使测试过程中出现失败,Maven也会继续执行后续目标。

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.