问题标签 [jacoco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
480 浏览

ant - Sonar 中的 JaCoCo 不包含所有源文件

我使用 JaCoCo 在 Java 语言的 Sonar 中进行 IT 覆盖。报告了一些 IT 代码覆盖率,并且报告的结果似乎是合理的。但是,我注意到并非所有源代码都包含在 IT 覆盖率分析中。查看“组件”视图,许多 Java 包显示规则 %、cobertura 单元测试覆盖率 %,但没有显示 IT 覆盖率。我没有包含或排除任何文件,因此如果没有涵盖此包中的代码,我希望 IT 覆盖率显示 0%?我知道在一组文件上应该有一些 %,但 Sonar 没有显示任何内容(再次显示,规则 % 和 cobertura % )。

我将尝试显式包含一些类文件,但我仍然对为什么 JaCoCo 分析不包含所有源感到困惑。这些文件被导入到 Sonar 中,因为违反规则的行为可以很好地处理它们。

0 投票
1 回答
1374 浏览

sonarqube - 为什么 sonar(JaCoCo) 要求我测试我的包裹?

我正在尝试关闭我的应用程序中的一些测试漏洞,并发现 JaCoCo 声纳插件在我的枚举中的覆盖率较小,因为它认为我应该测试包名称。

这是为什么?

它在我的一个枚举中显示了 97% 的覆盖率,并在包声明的顶部显示了一条红线,告诉我测试它......它在所有枚举和枚举中都这样做。

声纳截图

0 投票
1 回答
1218 浏览

junit4 - 如果我的测试不在 JUnit4 TestSuite 中,Sonar (JaCoCo) 的覆盖率为 0%

嗨,我正在使用声纳,我喜欢它...

但是我的最新项目有点奇怪。

如果我将所有测试都放在 JUnit 4 中,@TestSuite JaCoCo 在我运行时的覆盖率为 86,2%(Groove baby !!!)mvn sonar:sonar

如果我让测试自己进行,即使单元测试成功 100,0%,我也会得到 0% 的覆盖率

我不需要这个项目的 TestSuite 任何关于 JaCoCo 为什么这样做的线索?

顺便说一句:我正在使用 Maven 2.2.1 + Sonar 3.4.1 + sonar-maven-plugin 1.0。

0 投票
1 回答
8660 浏览

jacoco - jacoco 在使用 ant 时不排除类

我无法让 jacoco/junit ant 目标从覆盖范围中排除类。我可以通过以下方式排除软件包:

这并不排除我的测试类,因为测试类与他们测试的类在同一个包中。我已经厌倦了用正则表达式排除测试类,但它不起作用。

我也尝试在报告任务中只包含我想要的类,但是由于我们的测试类位于不起作用的相同包中。我们的构建将所有类放在同一个目录中,例如 buildRoot/classes/ProjectName。因此 buildRoot/classes/ProjectName/foo 将包含已编译的测试类和非测试类。

有什么建议如何让 jacoco 排除此设置中的所有测试?

谢谢。

0 投票
1 回答
10538 浏览

maven - 如何在 jacoco:report 之后禁用 jacoco-agent?

我有一个 Maven 项目,使用“测试”阶段和“集成测试”阶段。在测试阶段,执行 JUnit-Tests,在集成测试中有 HTMLUnit-tests。我正在使用 Jacoco[1]-maven-plugin 来测量我的项目的 JUnit 测试完成的代码覆盖率。在进行集成测试时,我使用 maven-embedded-glassfish-plugin 启动 glassfish-server 并在执行测试之前部署我的应用程序。

可悲但真实,我必须暂时禁用 jacoco,因为它与“集成测试”阶段不协调。

Jacoco 的报告目标是/应该在准备包阶段执行,所以我认为它不应该影响集成测试阶段。但是当我启用 jacoco:report 时,由于内存大小问题 [2],我的集成测试不再运行。

如何停止 jacoco:report 影响集成测试阶段?


[1] http://www.eclemma.org/jacoco/

[2]

0 投票
1 回答
244 浏览

sonarqube - JaCoCo 成功剖析了所有 Java 项目,Sonar 仅在一个项目中找到了覆盖范围

我正在使用声纳 3.2 + Java 1.6 + Ant 1.7 0 JBoss 1.5。我们有许多 Java 项目,Ant 将它们编译成一个构建项目,其中还包含 .ear 文件、java 类等。我通过将 JaCoCo 代理作为参数提供给 JBoss JVM 来启动 JBoss 服务器。使用文本编辑器查看 jacoco.exec 文件,它包含来自我们所有 Java 项目的跟踪(如预期的那样)。

但是,将 jacoco.exec 文件导入 Sonar 时,它只显示我们的一个 java 项目的 IT 代码覆盖率。在 Sonar Ant 配置中,我包含了我们所有的项目 java 源和类文件。这些似乎可以很好地导入,因为所有 java 源都显示了违规行为。

有什么问题?顺便提一句。Sonar 将 jacoco.exec 覆盖文件与 java 源文件或编译的类文件进行比较?我已经包括了两个...

0 投票
1 回答
446 浏览

maven - Maven 多模块加外部测试加 JaCoCo 加声纳

在我们公司,我们有几个项目模块,每个模块都有几个单元测试,但是我们有基于类而不是模块的系统测试。我们的系统测试使用每个模块的几个类(不是全部)。我们无法计算此测试的集成覆盖率和单元覆盖率。我们想合并系统测试的结果来计算所有产品的覆盖率。

任何人都知道我们如何做到这一点?任何人都可以提供任何带有示例的教程吗?

0 投票
1 回答
336 浏览

sonarqube - Sonar 迫使我在 FindBugs 结果或 JaCoCo 集成测试覆盖率之间进行选择

我在声纳中有这个奇怪的问题。我正在使用声纳 3.2 + Ant + JaCoCo + Selenium。

我在 Ant 目标中设置了我的 sonar.binaries 属性文件,该目标是通过 Jenkins 执行的。

1) 如果我将 sonar.binaries 属性设置为指向我生成的 .class 文件,那么 FindBugs 工作正常,但我的 JaCoCo 集成测试覆盖率显示为 0%。0% 可能是因为类文件不是部署到 JBoss 服务器的确切文件,因此 Sonar 无法进行映射。

2) 如果我将 sonar.binaries 属性设置为指向我的 .jar 文件(即包括上述 .class 文件),那么 FindBugs 将在构建时给出异常。禁用 FindBugs 后,Sonar 构建完成正常,这一次我得到了所有二进制文件的正确 JaCoCo IT 代码覆盖率!

有什么想法吗?:)

0 投票
1 回答
7138 浏览

jsp - JaCoCo - 从报告中排除 JSP

在 JaCoCo 生成的 Maven 站点报告中,我的覆盖率很差,因为我编译的所有 JSP 都包含在内(而且它们很长)。我尝试了以下内容reporting

另一个外观相似的配置位于阶段build的 POM 部分prepare-package。这不会阻止 JSP 类包含在报告中。如何避免这种情况?

0 投票
2 回答
1165 浏览

maven - 我可以从一个测试文件夹中测量许多模块的代码覆盖率(Sonar + JaCoCo + Maven)吗?

我的代码覆盖率有问题(Sonar + JaCoCo + Maven + Selenium(集成测试))。这是我的项目结构。

我可以通过“TESTS”文件夹中的集成测试来测量“CLIENT”和“SERVICE”模块的代码覆盖率吗?