我在 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 创建覆盖率报告,忽略失败的测试?
嗨,您可以通过添加
-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也会继续执行后续目标。
我希望这会有所帮助。