问题标签 [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.
java - Maven Cobertura:单元测试失败但构建成功
我在我的 pom 中配置了 cobertura 代码覆盖率:
并通过以下命令开始测试:
但是,如果其中一个单元测试失败,Cobertura 只会记录此信息并且不会标记构建失败。
如何在单元测试失败之一中配置 Cobertura 标记构建失败?
提前致谢。
tomcat - cobertura的副作用
经过一番努力,我终于让cobertura在tomcat服务器上为我的 Web 应用程序正确运行。一切似乎都很好,直到我将它提交给 svn 和 hudson 完成(失败)他的工作。如果没有这个构建脚本,我永远不会(或以后)发现这个问题。我的构建脚本试图将 catalina.log 移动到另一个目录,但 catalina.log 丢失了。经过一些测试后,我假设类路径中 cobertura.jar 的纯粹存在(没有检测任何东西)改变了我的 tomcat 的日志记录行为。
由于我对tomcat和cobertura都没有那么丰富的经验,任何人都可以证实我的观察。是否有任何其他副作用记录在案?
maven-2 - 忽略cobertura maven插件中特定类的报告生成
我一直在使用 Cobertura 插件来生成报告和检测(当然)。这是我面临的问题:
我无法让插件忽略我项目中特定类的报告生成。
PF 在 pom.xml 的相关摘录下方,我添加了忽略标记,但这只是忽略了被忽略类的检测。
我希望根本不生成特定项目的报告。
首先,由于我对 Maven 和 Conberture 的了解有限,我想知道这是否可能,如果是,那么我需要在 pom.xml 中进行哪些更改。
pom.xml
编辑:
这是我的目录结构:
我在 module/pom.xml 中尝试了以下内容
我仍然在警报和公司目录中生成报告。
可能排除正则表达式不正确?
xml - grails test-app -xml -coverage 尝试解析 XML URI 并超时
我在代理后面,我不需要grails test-app -xml -coverage
解析它试图解析的任何 XML 字段,也不需要连接到互联网。
知道如何让它工作吗?我需要不设置代理才能使测试正常工作。
maven - Maven - 调整运行报告部分中声明的插件的阶段
我正在尝试调整 maven 插件执行将在 maven-2 中运行的阶段。
我的具体问题是尝试运行cobertura:instrument
绑定到生命周期阶段的步骤process-test-classes
,这样它就不会与使用 aspectj 的其他插件冲突(并删除检测代码,从而生成 0% 的覆盖率报告)。但我的问题更笼统。
在默认生命周期内,我设法通过在插件声明中添加执行部分来做到这一点:
这样,当我运行mvn test
一切正常时,cobertura:instrument 在我想要的阶段运行,类被检测,测试使用检测类运行,等等。这是总结输出:
但是,当我这样做时,mvn site
我似乎无法控制插件的执行阶段。我的报告部分包含:
mvn site
(总结)的输出说:
仪器被调用了两次,一次在插件定义的(我认为)默认阶段,另一次在我重新定义的阶段。我猜这来自作为站点生命周期的一部分运行的插件。
问题:我还没有找到如何在报告部分/站点生命周期内调整插件执行。有什么提示吗?
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
java - 如何使用带有 jar 文件的 cobertura 代码覆盖工具
我正在使用 cobertura 找出我的测试套件的代码覆盖率,该套件测试通过 jar 文件捆绑的基于 java 的解决方案,cobertura cmd 行参考
我已经完成了仪器部分并获得了仪器类文件。对于第二步,我不确定是否需要将检测的类文件重新捆绑到一个 jar 文件中,因为我的测试套件使用这个 jar 文件,或者我可以简单地设置我的 CLASSPATH 变量以包含检测的类文件,同时继续使用原始 jar 文件(其中包含未检测的类文件)。
谢谢。
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 常见问题解答中所述,我还能如何解决这个类路径冲突?
grails - 配置hudson的分机
我有一个 grails 项目,我使用 hudson 进行不同的分析。我想将报告分析(cobertura、codenarc、findbug)发送给开发人员。但是,我不知道如何使用 hudson 的分机号。通过谷歌搜索,我怀疑解决方案是使用果冻脚本,但我似乎可以让它工作。