问题标签 [clover]

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 投票
0 回答
1180 浏览

eclipse - 安装软件时遇到 CLOVER 插件错误

我尝试安装 Clover 插件,但出现错误:-

安装软件遇到问题

错误信息 :-

收集要安装的项目时发生错误会话上下文是:(profile=profile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=)。无法在http://update.atlassian.com/eclipse/clover/plugins/com.atlassian.clover.eclipse.core_4.0.0.v20140711000000.jar读取存储库。读取超时

如何解决这个问题。我按照链接中给出的步骤操作:

https://confluence.atlassian.com/display/CLOVER/1.+Clover+for+Eclipse+in+10+minutes

0 投票
1 回答
1883 浏览

java - Maven + Clover + Jenkins - 如何在一个命令中获取覆盖率报告和非仪器化工件

我正在尝试运行 maven clover 插件来生成报告以及生成非仪器化的工件。


mvn clean clover2:instrument clover2:clover install

如果我根据 clover doc instument 目标在上面运行,则将在单独的生命周期中运行,并且不会影响默认的构建周期。确实如此,但问题是我想在默认构建生命周期中跳过测试。我尝试了以下操作,但它跳过了两个生命周期的测试。

mvn clean clover2:instrument clover2:clover install -DskipTests

如果上述方法可行,那么我可以在 jenkins 上简单地设置它,而无需为多个 maven 命令创建多个作业。

0 投票
2 回答
919 浏览

maven - Clover 插件完成后如何恢复 Maven project.build 变量?

我正在尝试将集成测试添加到一个大型 Maven 项目中。这是所需的事件顺序:

  1. 清理现有的工件。
  2. 解决依赖关系并构建项目。
  3. 通过 Surefire 插件运行单元测试。
  4. Clover 插件的分叉生命周期。
  5. --- 使用 Clover 插件的仪器源。
  6. --- 修改 Clover 的 project.build.directory 和 project.build.finalName。
  7. --- 在新目录中构建 Clover 检测项目。
  8. --- 通过 Surefire 插件运行 Clover 检测单元测试。
  9. --- 从 Clover 检测单元测试中检查代码覆盖率。
  10. ---将 project.build.directory 和 project.build.finalName 重置为原始值。
  11. --- 结束分叉生命周期(Clover 仅通过“测试”阶段分叉)。
  12. 将项目打包为 WAR 文件。
  13. 通过 Tomcat7 插件在本地托管项目 WAR 文件。
  14. 通过 Surefire 插件对 Tomcat7 实例运行集成测试。

除了第 9 步(因此提出问题)之外,所有这些都按预期工作。相反,构建目录仍然设置为 Clover 版本,并且项目名称附加了“-clover”。我还发现,当“MyProject-clover.war”由 Tomcat7 托管时,它无法按预期运行(在浏览器中返回 404 错误)。

即使它确实有效,我们也不需要/想要我们正在测试的 WAR 文件中的 Clover 检测,因为集成测试不会触及任何生产代码(它是 src/test/java 下的所有 Selenium UI 内容)与本地托管的页面而不是生产代码本身进行交互)。

如前所述,这是一个包含数百个依赖项和数十个插件的大型项目。我相信以下内容与我的问题有关,但如有必要,我可以挖掘更多内容(发布整个 pom 文件似乎不合理)。

这是 Clover 插件的 pom 配置:

这是 WAR 插件的 pom 配置:

这是 Tomcat7 插件的 pom 配置:

这是我运行“mvn clean install -Dmaven.clover.skip”时的当前(期望)行为:

这是我运行“mvn clean install”时的当前(不希望的)行为(注意 maven-war-plugin 列出的路径和来自 maven-source-plugin 的警告消息:

在 Clover 的测试阶段完成执行 maven-clover2-plugin:check 目标后,我该怎么做才能确保 {project.build.directory} 和 {project.build.finalName} 值重置为其原始值分叉的生命周期?

我已经尝试浏览CloverWAR插件和Tomcat7的在线手册。我没有看到任何可以用来恢复由 Clover 更改的构建变量的设置。我总是可以对我的 pom 文件中的路径进行硬编码,但我更喜欢不那么脆弱的解决方案。

0 投票
1 回答
2404 浏览

python - 如何生成包含 python unnittest 覆盖数据的 Clover 兼容(Bamboo)xml?

NoseXUnit 曾经能够生成与 Clover 兼容的 xml 文件,但它不再维护,并且不适用于最新版本的 Nose。

现在如何生成包含覆盖数据的与 Clover 兼容的 (Bamboo) xml?

0 投票
2 回答
313 浏览

maven - Maven Shade 和 Clover 不适用于 mvn 网站

我有父项目和一些子项目。有些孩子之间有依赖关系。例如:父母 -> 孩子 1,父母 -> 孩子 2,孩子 1 -> 孩子 2(孩子 1 依赖于孩子 2)这是我在 poms 中所做的事情:

子 pom 看起来像这样:

我面临 mvm site-deploy 将失败并出现以下错误的问题:

mvn site-deploy 从 foo-parent 级别运行。

我注意到即使在运行站点时 clover 也会尝试在 target/clover/ 文件夹中创建阴影 jar。

任何帮助表示赞赏。

0 投票
1 回答
1649 浏览

maven - 如何让 Clover 跳过集成测试?

本周早些时候,我在恢复 Clover 运行时更改的项目属性时遇到了很大的困难(这样它就不会干扰后续插件):

Clover 插件完成后如何恢复 Maven project.build 变量?

我通过在 Maven 启动时保存这些属性并在我的插件中使用保存的变量而不是 Clover 更改的变量来解决了这个问题。

现在我能够在预集成测试阶段托管非仪器 WAR 文件,我的测试能够成功运行并通过(以前,我无法从仪器 WAR 文件运行应用程序,因为 Clover 不是在发布类路径上)。

不幸的是,我发现分叉的 Clover 生命周期超出了测试阶段。在我的测试通过并且嵌入式 Tomcat 实例关闭后,原始生命周期再次运行 Tomcat7 插件,启动服务器,然后重新运行测试。

我可以忍受它两次运行我的单元测试(这可以捕获仅在有或没有 Clover 仪器的情况下出现的边缘情况错误),但运行我的集成测试两次是完全没有必要的。这些测试不涉及生产代码(他们使用 Selenium 在浏览器中自动进行 UI 测试)。如前所述,检测的 WAR 文件无论如何都不起作用,因此在运行集成测试时它甚至不再存在。绝对没有理由需要再次运行这些测试。

如何在测试阶段完成后告诉 Clover 终止分叉生命周期,以便集成测试只运行一次?我目前只能在整个生命周期内启用它,或者根本不启用。

更新: 我发现即使我通过传入 -Dmaven.clover.skip=true 禁用 Clover 插件,它仍然会分叉生命周期。我发现防止这种情况的唯一方法是完全注释掉 Clover 插件,这样它就没有机会在跳过检测之前分叉生命周期。

0 投票
1 回答
1216 浏览

code-coverage - 单元测试因 clover 3.1.8 的空指针异常而失败,但是使用 clover 4.0.2 全部通过 clean

我们的项目是一个多模块 maven 项目,使用 clover2:instrument 生成检测的 fat jar。我们使用命令行中的检测 jar 评估功能测试代码覆盖率,所有步骤如下:

  1. mvn 干净安装
  2. mvn -P 仪器 clover2:仪器
  3. 运行功能测试
  4. mvn -P 仪器 clover2:aggregate
  5. mvn -P 仪器 clover2:clover 站点

所有单元测试都通过 clover 4.0.2 通过,但是当使用 clover 版本 3.1.8 时,它们因 NPE 而失败。我们想使用旧版本,因为我们有它的商业许可,而不是新版本。请帮忙。

我无法共享日志,因为这可能会违反我的组织政策。分享摘录

从日志中添加额外的堆栈虽然它并没有真正提供太多信息

运行 com。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest 测试运行:4,失败:4,错误:0,跳过:0,经过时间:0.27 秒 <<< 失败!com。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testKnowledgeAgentInitialization() 已用时间:0.002 秒 <<< 失败!com 上的 java.lang.NullPointerException。。气源。.*.drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testKnowledgeAgentInitialization(ApplyQueryValueThrottleEngineUnitTest.java:145)

com。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testNoM hingRule() 已用时间:0.266 秒 <<< 失败!com 上的 java.lang.NullPointerException。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testNoM hinRule(ApplyQueryValueThrottleEngineUnitTest.java:124)

com。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testM hingRule() 已用时间:0 秒 <<< 失败!com 上的 java.lang.NullPointerException。。气源。. .drools.ruleengine.ApplyQueryValueThrottleEngineUnitTest.testM hinRule(ApplyQueryValueThrottleEngineUnitTest.java:135)

0 投票
1 回答
228 浏览

clover - Mysql reader Clover ETL

I am using CloverETL Designer Version: 4.0.0.030M2 for one of my projects. I want to read from a MySQL database and do some comparison and then write to the database. But I cant find a MySQL reader in the tool. Whereas a mongodb reader is present as well as a MySQL writer. Please help me on how to read from MySQL database in a clover graph. Thanks.

0 投票
1 回答
574 浏览

java - 三叶草插件上的双重仪器错误

我正在为多模块项目使用 clover maven 插件。在运行三叶草的仪器目标时,我遇到了 CloverException。它显示“检测到双重检测”似乎已被 Clover 检测。我不知道这是怎么发生的,我在谷歌上搜索过它,但仍然不知道该怎么做。有没有人见过这个错误,也许也解决了它?

0 投票
1 回答
437 浏览

android - 适用于 Android Studio 的 Gradle Clover 插件

有没有人尝试在 Android Studio 1.0 中配置三叶草测试覆盖工具?我试过使用 gradle-clover-plugin https://github.com/bmuschko/gradle-clover-plugin。但这主要是针对 Groovy 而不是特别针对 Java。还是我误解了?以及如何生成报告?任何想法?