【问题标题】:Jenkins and JaCoCo with sbtJenkins 和 JaCoCo 与 sbt
【发布时间】:2012-10-12 11:17:22
【问题描述】:

我在 Jenkins 中有一个项目,我想创建一份 JaCoCo 代码覆盖率报告。 如果我在本地运行 jacoco:test 然后 jacoco:report 它会在 myproject/target/scala-2.9.1/jacoco 中创建正确的文件(.exec、.classes 和源),所以它可以工作。

但是,在 jenkins 上构建时,这只会创建 classes 目录,这意味着它会拾取代码,而不是覆盖它的测试,因此我得到 0% 的代码覆盖率。

有没有人让 jacoco 以这种方式与 sbt 合作?

【问题讨论】:

    标签: java jenkins code-coverage jacoco


    【解决方案1】:

    我在尝试启动一个新的 Scala 项目时遇到了同样的问题。在尝试了多种路径配置后,我想出了一个解决方案。

    类目录路径的默认值为**/classes。我怀疑问题在于该模式允许匹配 target/scala-X.XX/classes/target/scala-X.XX/jacoco/classes/

    将类目录路径更改为target/*/classes 允许Jenkins 插件开始报告正确的覆盖率信息。

    【讨论】:

    • 令人惊讶!感谢这篇文章,我发现我需要使用**/target/*/classes
    • 我也面临同样的问题。您能否详细说明我们需要为哪个属性设置“target/*/classes”?
    【解决方案2】:

    您没有提供有关您的 Jenkins 作业配置的太多信息,因此我做出了一些假设,但您可以在 Jenkins 作业中添加/执行多个构建步骤。构建步骤运行诸如运行 Maven 之类的东西或运行任意脚本。

    第一个构建步骤可以是执行“jacoco:test jacoco:report”以运行 Jacoco 的 Maven 构建步骤,然后第二个构建步骤可以是您运行的任何其他查找 jacoco.exec 文件的步骤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-25
      • 2018-01-08
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2016-01-03
      • 2018-09-13
      相关资源
      最近更新 更多