问题标签 [maven-cobertura-plugin]
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 - 为什么我的分支机构覆盖率和线路覆盖率失败?
考虑以下代码:
这是方法:
当我将行更改为if (Math.abs(smu) <= 0.01)
和测试类作为boolean expectedResult = true;
第一个测试时,maven 构建得很好。但是当我尝试使用上面的代码构建时,maven 会抛出一个错误:
[ERROR] *className failed check. Branch coverage rate of 95.8% is below 100.0%
*className failed check. Line coverage rate of 97.8% is below 100.0%
apache-camel - 如何避免 mvn cobertura 插件影响 apache 骆驼路由中的 xpath 返回类型
我正在使用 apache camel 2.12.0(也尝试过 2.14.0)。我有一条从远程服务器接收 xml 的路由:
<?xml version='1.0' encoding='UTF-8'?>
<response><meta><code>200</code></meta><data><person><name>John</name></person></data></response>
我切出解组它的身体。使用 xstream。
.log("${body.class}") -> net.sf.saxon.dom.DOMNodeList
到目前为止,一切正常。mvn test, mvn camel:run .. 都很好。
现在是错误部分
mvn cobertura:cobertura
抛出异常
org.apache.camel.InvalidPayloadException: No body available of type: java.io.InputStream but has value: [net.sf.saxon.tree.tiny.TinyElementImpl@90400f] of type: java.util.ArrayList on: Message: [net.sf.saxon.tree.tiny.TinyElementImpl@90400f]
.log("${body.class}") -> java.util.ArrayList
帮助
您能否给出一个建议,为什么 cobertura 会更改 xpath() 的返回类型?
更新(已解决)
我发现了依赖关系的问题。如果我使用 camel-xstream 和 cobertura,我会在 .xpath() 中出现奇怪的行为。但是,如果我在依赖项中还包含 camel-xmljson 库,那么一切正常。我想 coberturas 对 jaxen:jaxen:jar:1.1-beta-8:compile 的依赖之一或其他一些加载与骆驼碰撞的 xml 类。
junit - Cobertura 给出的参数列表太长
我正在尝试使用 cobertura 插件生成代码覆盖率报告。
我的 pom.xml 中有这个依赖项
当我使用这个目标 -U -B clean install cobertura:cobertura 构建我的项目时,我的 jenkins CI 出现以下错误
在我的 windows 机器上构建成功,但在 jenkins 上失败。当我将 cobertura 版本降级到 2.5.1 时,这个错误消失了,但我得到了一些解析异常,因为 2.5.1 的 cobertura 解析器不是最新的 java 语法。
有人可以帮我让它适用于 cobertura 的 2.6.0 和更高版本吗
java - Cobertura 导致 ClassNotFoundException
当使用带有surefire和Cobertura的JUnit-Tests使用maven构建我的项目以获得测试覆盖率时,通常一切正常。但是当我最近添加了一个可能被某些测试抛出(并且被排除在外)的异常时,maven 总是告诉我:
不幸的是,使用 -X 或类似的东西运行并没有帮助,并且在运行 maven时还查看http://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html或间歇性 NoClassDefFoundError jenkins 中的 /surefire build没有为此问题提供任何有用的提示。
我的surefire插件定义如下:
停用分叉时,一切都开始正常工作,但不包括本机库,因此这不是一个选项。此外,当我排除所有使用 的测试时TimerowTooShortException
,一切正常。
经过一些尝试,我发现即使使用 运行测试,cobertura 也会-Dcobertura.skip=true
导致问题。Cobertura 在插件中定义如下:
不幸的是,当我使用 surefire 和 cobertura 以及预期的异常时,我找不到有关此特定问题的任何信息。有人知道为什么在使用 cobertura 时会发生这种情况吗?有没有解决方法?
maven - 尽管配置了 2.7,但仍使用 cobertura-maven-plugin 2.6
我的 POM 中有这个部分:
当我从终端调用此命令时:
cobertura-maven-plugin
使用2.6版:
如果我也添加此部分:
2.7版按预期使用。这是正常的吗?
maven - netbeans cobertura 报告显示覆盖率为 0%
使用 cobertura 建立新的 maven 项目
它运行良好,类得到检测并生成 html 报告
但 netbeans 显示 0% 的覆盖率,视图从不刷新
maven - Cobertura 产生很多错误并且没有输出
我已使用本指南将 Cobertura 包含在我的 Maven 项目中。我将以下内容添加到我的pom.xml
:
当我运行构建时,我收到如下错误:
它们似乎都在ProjectName\target\generated-classes\cobertura
我绝对没有创建的奇怪文件夹中。我的报告如下所示:
当我按下时,Run All Tests
我会得到与构建期间相同的错误。
它是什么?我的项目需要 Cobertura 的报告,我必须让它工作。
java - Maven Cobertura 插件生成不完整的覆盖率报告
我在用着:
为项目生成覆盖率报告。这实际上并没有在 pom.xml 文件中配置,因此它只是使用了最新版本的插件(当前为 2.6)。
在大多数情况下,这可以正常工作,但由于某种原因,一个班级的报告非常奇怪。似乎报告某些行已被覆盖,但其他行(就在它旁边)没有。
我一直在运行:
当然,但这似乎没有帮助。
总的来说,它只报告了大约 1% 的覆盖率,但这实际上是一个非常关键的类,我知道它被大量使用。我也知道报告过去工作正常。我不确定他们什么时候停止工作,因为我已经有一段时间没有检查过该课程的报道了。
作为我所看到的一个例子:
这是来自类的初始化程序。第一行显然被称为 2053 时间。第 2 行实际上没有运行任何代码,因此留空(如所示),但第 3 行和第 4 行都报告被调用 0 次。
另一个例子:
从构造函数本身。第一行再次被调用 2053 次,但第二行(以及构造函数中的所有其他行)被调用 0 次。
无论如何,我不知道为什么会这样。
我怀疑它可能是另一个库以某种方式干扰覆盖/仪器。
班级规模可能是一个因素。源文件本身有 2040 行长(918 行实际代码计入覆盖范围)。
在过去的几天里,我一直在编写其他测试和代码,而 cobertura 可以很好地解决这些问题。
欢迎提示和建议。
java - Cobertura Maven 插件在 Windows 上因“命令行太长”而失败
当我在具有冗长配置(用于禁止项目中的任何覆盖率下降)的Windows 8.1 上运行 cobertura-maven-plugin 时,cobertura:check
目标失败并出现错误The command line is too long.
问题可能与命令提示符 (Cmd.exe) 命令行字符串限制有关,因为当我限制提供给 Cobertura 的配置数量时它会消失。此外,它在 Linux 上运行良好。
我该如何克服这个问题?
调试级别的日志:
maven - 如何配置 Jenkins Cobertura 不提供检测包?
Jenkins 和 Cobertura 一起使用 Maven 将检测的 jar 文件部署到我的存储库。我不希望在我的应用程序中有一个检测的 jar。所以有人知道如何在 jenkins/Cobertura/Maven 中处理这个问题吗?
我发现如果在 Jenkins 中我将顺序更改为“干净的站点安装”而不是“干净的安装站点”,它会给出非仪表化代码。
我正在使用 Jenkins 1.548 和 java1.8
这是我的 POM.xml