8

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

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

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

4

2 回答 2

2

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

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

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

于 2013-11-27T18:18:56.543 回答
0

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

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

于 2013-05-03T14:12:44.323 回答