问题标签 [cobertura]

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 投票
2 回答
4207 浏览

assert - 为什么 Cobertura 没有报告断言分支路径被覆盖?

Cobertura中,我无法让它报告断言语句的条件路径已被采用。这是一个已知的限制吗?

我有一个JUnit测试,它期望和 AssertionError 被抛出,并且它正确通过。问题是 Cobertura 报告断言分支没有被覆盖。


经过更多调查,我看到正在检测部分分支覆盖范围。问题是:

Cobertura 将覆盖范围报告为:

条件覆盖率 75% (3/4) [每个条件 50%、100%]。

Cobertura 期望的不同分支条件是什么?

0 投票
2 回答
4718 浏览

java - Maven Cobertura:单元测试失败但构建成功

我在我的 pom 中配置了 cobertura 代码覆盖率:

并通过以下命令开始测试:

但是,如果其中一个单元测试失败,Cobertura 只会记录此信息并且不会标记构建失败。

如何在单元测试失败之一中配置 Cobertura 标记构建失败?

提前致谢。

0 投票
1 回答
283 浏览

tomcat - cobertura的副作用

经过一番努力,我终于让cobertura在tomcat服务器上为我的 Web 应用程序正确运行。一切似乎都很好,直到我将它提交给 svn 和 hudson 完成(失败)他的工作。如果没有这个构建脚本,我永远不会(或以后)发现这个问题。我的构建脚本试图将 catalina.log 移动到另一个目录,但 catalina.log 丢失了。经过一些测试后,我假设类路径中 cobertura.jar 的纯粹存在(没有检测任何东西)改变了我的 tomcat 的日志记录行为。

由于我对tomcat和cobertura都没有那么丰富的经验,任何人都可以证实我的观察。是否有任何其他副作用记录在案?

0 投票
5 回答
12486 浏览

maven-2 - 忽略cobertura maven插件中特定类的报告生成

我一直在使用 Cobertura 插件来生成报告和检测(当然)。这是我面临的问题:

我无法让插件忽略我项目中特定类的报告生成。

PF 在 pom.xml 的相关摘录下方,我添加了忽略标记,但这只是忽略了被忽略类的检测。

我希望根本不生成特定项目的报告。

首先,由于我对 Maven 和 Conberture 的了解有限,我想知道这是否可能,如果是,那么我需要在 pom.xml 中进行哪些更改。

pom.xml

编辑:

这是我的目录结构:

我在 module/pom.xml 中尝试了以下内容

我仍然在警报和公司目录中生成报告。

可能排除正则表达式不正确?

0 投票
1 回答
124 浏览

xml - grails test-app -xml -coverage 尝试解析 XML URI 并超时

我在代理后面,我不需要grails test-app -xml -coverage解析它试图解析的任何 XML 字段,也不需要连接到互联网。

知道如何让它工作吗?我需要设置代理才能使测试正常工作。

0 投票
2 回答
3371 浏览

maven - Maven - 调整运行报告部分中声明的插件的阶段

我正在尝试调整 maven 插件执行将在 maven-2 中运行的阶段。

我的具体问题是尝试运行cobertura:instrument绑定到生命周期阶段的步骤process-test-classes,这样它就不会与使用 aspectj 的其他插件冲突(并删除检测代码,从而生成 0% 的覆盖率报告)。但我的问题更笼统。

在默认生命周期内,我设法通过在插件声明中添加执行部分来做到这一点:

这样,当我运行mvn test一切正常时,cobertura:instrument 在我想要的阶段运行,类被检测,测试使用检测类运行,等等。这是总结输出:

但是,当我这样做时,mvn site我似乎无法控制插件的执行阶段。我的报告部分包含:

mvn site(总结)的输出说:

仪器被调用了两次,一次在插件定义的(我认为)默认阶段,另一次在我重新定义的阶段。我猜这来自作为站点生命周期的一部分运行的插件。

问题:我还没有找到如何在报告部分/站点生命周期内调整插件执行。有什么提示吗?

0 投票
2 回答
5837 浏览

java - Tomcat 上的 Cobertura

我正在尝试使用 Cobertura 应用代码覆盖率。该应用程序部署在 Tomcat 5 中,但是当我检测 .class 文件时,该应用程序停止工作。

这是我的步骤:

  • 编译应用程序(这在 tomcat 中运行)
  • 检测类文件。

    /li>
  • 用. D:\src\path_to_app\main\target\webapp _D:\test\instrument

  • 通过 Catalina conf 或 war 文件在 Tomcat 中部署应用程序。(该应用程序不起作用)

有人有正确的步骤在 Tomcat 中使用 Cobertura 检测的类正确部署应用程序吗?

参考:http ://cobertura.sourceforge.net/faq.html

我正在使用 cobertura-1.9.4.1

0 投票
1 回答
2729 浏览

java - 如何使用带有 jar 文件的 cobertura 代码覆盖工具

我正在使用 cobertura 找出我的测试套件的代码覆盖率,该套件测试通过 jar 文件捆绑的基于 java 的解决方案,cobertura cmd 行参考

我已经完成了仪器部分并获得了仪器类文件。对于第二步,我不确定是否需要将检测的类文件重新捆绑到一个 jar 文件中,因为我的测试套件使用这个 jar 文件,或者我可以简单地设置我的 CLASSPATH 变量以包含检测的类文件,同时继续使用原始 jar 文件(其中包含未检测的类文件)。

谢谢。

0 投票
1 回答
4141 浏览

java - 类路径上 asm 的 cobertura 问题

我有一个使用 maven、Spring 2.5.6、Hibernate 3.2.6 的项目设置,最近添加了 cobertura 1.9rc1 用于代码覆盖率分析。

我遇到的第一个问题是类路径相关的错误,因为类路径上有两个不同版本的 asm.jar。这个问题只会在运行 JUnit 测试并尝试加载 spring 应用程序上下文时出现。

根据 cobertura 项目主页上的常见问题解答:

为什么 Cobertura 导致我与 ASM 发生类路径冲突?

Cobertura 使用 ASM 来修改您的字节码。还有一些其他流行的程序使用 ASM;Groovy 和 Hibernate,仅举两个例子。如果 Cobertura 使用不同版本的 asm 并且您将这两个版本都添加到类路径中,您可能会遇到问题。

Cobertura 仅在检测时使用 ASM。运行测试时,Cobertura 在您的类路径中不需要 ASM。如果您看到类路径冲突,只需确保 Cobertura 附带的 asm jar 仅由 Cobertura 使用,并且仅在检测时使用。

因此,在我的项目 pom 中,我将依赖项配置如下:

现在我可以从 Eclipse 运行我的单元测试,我的应用程序在服务器上也可以正常运行。

但是,当我在我的项目上运行 mvn cobertura:cobertura 时,出现以下错误: java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/TouchCollector

我认为这是因为错误的 asm.jar 在类路径中。但是,如 cobertura 常见问题解答中所述,我还能如何解决这个类路径冲突?

0 投票
1 回答
1205 浏览

grails - 配置hudson的分机

我有一个 grails 项目,我使用 hudson 进行不同的分析。我想将报告分析(cobertura、codenarc、findbug)发送给开发人员。但是,我不知道如何使用 hudson 的分机号。通过谷歌搜索,我怀疑解决方案是使用果冻脚本,但我似乎可以让它工作。