问题标签 [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 回答
412 浏览

grails - Gant 构建脚本,如何检索我要执行的任务

这是在 grails 中,但我认为 grails 没有任何特定的内容适用。

我有一个看起来像这样的 Gant 脚本:

这个想法是我正在尝试使用 jacoco 代码覆盖率运行一些单元测试。运行测试的目标在 TestApp.groovy ( allTests() ) 中定义,可以导入并正常运行,但来自 jacoco 的覆盖任务希望将 allTests() 任务作为子任务添加到其中。它需要“包装”任务来运行测试。我正在尝试做的 Ant xml 等效项是这样的:

所以我想我正在寻找的是一种方法,在 Gant 中,从目标定义中获取任务,并将其传递给覆盖任务(我可以做 coverageTask.addChild(theRunTestsTask) ... coverageTask.execute( ) 如有必要)。

这是一个晦涩难懂的问题,希望有人可以帮助我们。

0 投票
3 回答
31673 浏览

java - 在 Tomcat 上使用 JaCoCo Java 代理获取我的应用程序的代码覆盖率

我想使用JaCoCo和 Sonar 工具测量集成测试的代码覆盖率。

为此,我启动了配置了 JaCoCo 代理的 Tomcat 5.5,以便从 JaCoCo 获取转储文件。

因此,我为此设置了JAVA_OPTS

当我启动Tomcat时,C:\dev\servers\jacoco.exec会生成文件,但没有填充任何数据。

我在服务器的配置中忘记了什么?

问候。

0 投票
7 回答
38386 浏览

code-coverage - Testng、Emma、Cobertura、coverage 和 JDK 7 导致 ClassFormatError 和 VerifyError

我已切换到最新的 JDK 7,并且在对 emma 覆盖工具摆弄的字节码运行 testng 单元测试时遇到问题。我的测试用例都没有正确运行,并且对于大多数测试用例,我都收到了此类错误。

我在这里找到了一篇文章JSR 292 Goodness Fast Code Coverage Tool Less 10k,它说“JSR 292 引入了一个新的字节码指令 invokedynamic 但也引入了几种新的常量池常量。这意味着大多数解析字节码的工具都像ASM、BCEL、findbugs 或 EMMA 将需要更新为与 java 7 兼容。”

查了一下Emma主页,貌似很久没更新了。

有没有人解决过类似的问题?

我也尝试过使用 Cobertura。它看起来工作得更好一些,但我得到了很多类型的异常VerifyError

0 投票
0 回答
976 浏览

eclipse - 在 Eclipse 插件中调用 ant

我有一个 Eclipse 插件,我需要在该插件中调用 ant 来制作一些东西,比如运行 junit 测试并获得该测试的覆盖率(为此目的使用 jacoco 插件)...

我的build.xml

Java调用Ant的代码:

但是当我运行我的插件时,我得到了这个错误:

build.xml:34: java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.createMirror(JUnitTask.java: 708) 在 org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.setupJUnitDelegate(JUnitTask.java:745) 在 org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java: 755) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
在 org.jacoco.ant.CoverageTask.execute(CoverageTask.java:95) 在 org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:291)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method .invoke(Method.java:616) 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在org.apache.tools.ant.Target.execute(Target.java:390) 在 org.apache.tools.ant.Target.performTasks(Target.java:411) 在 org.apache.tools.ant.Project.executeSortedTargets(项目.java:1360)
在 org.apache.tools.ant.Project.executeTarget(Project.java:1329) 引起:java.lang.ClassNotFoundException:org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl 在 org.apache.tools。 ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1386) at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1336) at org.apache.tools.ant.util.SplitClassLoader.loadClass(SplitClassLoader.java: 52) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在 org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.createMirror(JUnitTask.java:701) ... 19 更多

发生了什么?我做错了什么?

提前致谢

0 投票
1 回答
1204 浏览

eclipse - 在我的 Eclipse 插件中使用 JaCoCo/Eclemma

我正在为 Eclipse 开发一个插件,我的插件需要 JaCoCo/Eclemma 来分析 Java 项目的覆盖率。

将 JaCoCo/Eclemma 集成到我的插件中的最佳方式是什么?

在我的插件中,我有一个按钮,当我单击此按钮时,我想调用 JaCoCo/Eclemma,如下所示:

0 投票
2 回答
396 浏览

jacoco - Jacoco 不支持 Cuke4Duke

[头像] 2011-12-27 09:59:44 PST 大家好,

我正在尝试使用 Jacoco 进行集成测试覆盖,我们的集成测试是使用 Cuke4Duke + JRuby 步骤定义编写的。当我们尝试将 Jacoco-maven-plugin 与 cuke4duke 集成测试一起使用时,我们看不到 Jacoco 报告的任何覆盖率。

Jacoco 使用 Cuke4Duke + JRuby 步骤定义是否有任何限制?

  1. Jacoco 报告中没有报道报道。
  2. 当我们运行 mvn sonar:sonar 时,我们会收到以下警告。[INFO] [22:51:04.237] 传感器 JaCoCoItSensor... [INFO] [22:51:04.238] 分析 /home/venki/Projects/charging/trunk/integration-tests/target/coverage-reports/jacoco-it .exec [WARN] [22:51:04.240] 未收集覆盖信息。也许您忘记在编译的类中包含调试信息?

谢谢文基

0 投票
2 回答
5856 浏览

junit - 从 jacoco 分析中排除类方法

我正在寻找一种在我的 jacoco 分析中排除特定类方法的方法。我知道“排除”属性,但这仅适用于整个类。

就我而言,我生成了扭曲覆盖率报告的方法,因此我想将它们从报告中排除。

0 投票
2 回答
1190 浏览

osgi - OSGI 集成测试和代码覆盖率

我们在 OSGI 包中部署了桌面应用程序,并进行了集成测试来测试 OSGI 容器中加载的包。

  1. 我正在寻找一种工具来计算与 OSGI 捆绑包的集成测试的代码覆盖率
  2. 目前我们正在尝试使用 Jacoco 和 Sonar 来处理集成测试代码覆盖率,但我们不确定它们是否足以处理 OSGI 集成测试代码覆盖率
  3. 还有任何其他可用于计算 OSGI 集成测试代码覆盖率的工具。
0 投票
1 回答
14428 浏览

jenkins - “项目覆盖率设置为 0%”——JaCoCo 和 Sonar 在 Jenkins 中与 Ant

我将工作从单台 Hudson 机器转移到多从机 Jenkins 环境,现在 JaCoCo 覆盖不再有效。

工作(旧):哈德逊 2.0.1,詹金斯声纳插件 1.7.1,声纳 2.1.2

已损坏(新):Jenkins 1.446、Jenkins Sonar 插件 1.7.2、Sonar 2.1.2

我的 Hudson 工作称为 Pinnacle,它曾经在一台 Hudson 服务器上与 Sonar 在同一台机器上运行。我通过执行以下操作设置了我的(NO MAVEN)构建。

1) 向我的 build.xml 添加了一个 Ant 目标,名为test-with-coverage

2) 使用以下属性将 Hudson 中的 Pinnacle 作业配置为“调用独立声纳分析”:

(请注意,代码已检出到 Jenkins 作业工作区的 Pinnacle 目录中。)

3) 配置声纳“常规设置”以使用 JaCoCo 进行代码覆盖

一切都很顺利!

但是在新的 Jenkins 环境中,我在 Jenkins 构建输出中看到了这个错误:

该文件在运行构建的从站上不存在。(目录 /var/lib/jenkins/workspace/Pinnacle/Pinnacle确实存在。)

所有其他传感器(FindBugs、PMD 等)似乎工作正常。只是 JaCoCo 坏了。

Sonar/JaCoCo 甚至可以在多从属 Jenkins 环境中工作吗?

我怀疑 Ant 任务test-with-coverage没有运行。Sonar 如何定位 build.xml?新旧安装有什么不同?

0 投票
3 回答
19110 浏览

jenkins - 如何在 Jenkins 中使用 Sonar 获得 JaCoCo 覆盖?

我按照这里
的说明操作, 我没有使用 Maven。

我的 Jenkins 作业输出显示:12:32:33.951 INFO Sensor JaCoCoSensor... 12:32:33.961 INFO 项目覆盖率设置为 0%,因为没有转储 JaCoCo 执行数据:/var/lib/jenkins/workspace/SeqGen/ SeqGen/jacoco.exec 12:32:35.152 信息传感器 JaCoCoSensor 完成:1201 毫秒

这是我的属性:

在 Sonar 服务器上,我将 General Settings > Code Coverage > Code coverage plugin 设置为 jacoco

我对http://docs.codehaus.org/display/SONAR/Code+coverage+plugins上的文档感到非常困惑 我对这句话特别困惑:“在声纳分析期间,Sonar Jacoco 插件会注意附加Jacoco 代理到 JVM 并启动单元测试。”

据我所知,我的 Ant 目标没有被调用。Sonar Jacoco 插件如何知道在哪里可以找到我的 build.xml?

我究竟做错了什么?