【问题标题】:jacoco.exec is not generating for karate test cases using maven surefire 2.19.1jacoco.exec 没有为使用 maven surefire 2.19.1 的空手道测试用例生成
【发布时间】:2021-08-06 01:31:17
【问题描述】:

我正在使用 karate 0.9.6 版本和 springboot 2.3.x 应用程序,它是一个 maven 多模块项目。

使用 surefire,我可以使用 mvn clean install 和少量 -D 参数运行测试用例。 作为 jUnit 运行的测试类(使用 jUnit4)也可以正常工作。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <useSystemClassLoader>false</useSystemClassLoader>                
    </configuration>               
</plugin>

但我在生成 jacoco 覆盖率报告时遇到了困难。 jacoco.exec 没有生成。 我可以看到所有和单个模块的可靠报告正在成功生成。 这就是它的意思。

argLine set to -javaagent:C:\\Users\\xxx\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.3\\org.jacoco.agent-0.8.3-runtime.jar=destfile=C:\\Users\\xxx\\git\\my-project\\my-controller-module\\target\\jacoco.exec

Reactor Summary for top-risk-inventory 0.0.1-SNAPSHOT:
[INFO] 
[INFO] my-inventory ................................. SUCCESS [  6.432 s]
[INFO] my-common ......................................... SUCCESS [ 13.602 s]
[INFO] my-domain ......................................... SUCCESS [ 17.378 s]
[INFO] my-service-layer .................................. SUCCESS [ 17.783 s]
[INFO] my-controller-module ..................................... SUCCESS [03:42 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:38 min
[INFO] Finished at: 2021-05-16T20:44:07+05:30
[INFO] ------------------------------------------------------------------------

注意:我已经完成了与 @{argLine} 相关的更改,但对我没有任何作用。另一个发现是 surefire 2.2.1 与我的其他一些依赖项不兼容,因此使用 2.19.1

感谢您的快速建议。

【问题讨论】:

  • 这是一个棘手的领域,我没有任何答案,但我会四处询问
  • 经过几次修改,终于能够生成 jacoco.exec 但现在问题出在 jacoco 报告中正在覆盖所有模块,但在将数据发布到声纳的 jacoco.exec 中提供了覆盖只有一个模块。

标签: java maven karate jacoco jacoco-maven-plugin


【解决方案1】:

也许您可以从我们的实施中收集到一些东西?

https://github.com/kirksl/karate-maven-gradle

【讨论】:

  • 似乎github.com/kirksl/karate-maven-gradle 正在使用JUnit 5,并且有问题的是“测试类运行为jUnit(使用jUnit4)工作正常”,所以可能OP 的问题类似于github.com/jacoco/jacoco/issues/1048 -要执行 JUnit 5 测试,您至少需要 maven-surefire-plugin 版本 2.22.0,而 OP 使用的是 2.19.1,因此可能根本不执行 JUnit 5 测试;)希望这会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2019-11-20
  • 1970-01-01
相关资源
最近更新 更多