【问题标题】:Multimodule Maven project: Separate module for integration test: Code coverage多模块 Maven 项目:用于集成测试的单独模块:代码覆盖率
【发布时间】:2014-10-13 05:36:47
【问题描述】:

我有一个多模块 maven 项目,其中包含以下模块:moduleA、moduleB、moduleC。然后我有一个完全独立的 moduleTest,其中包含由故障安全插件运行的集成测试。

我想要一份由 cobertura(或任何其他 maven 插件)生成的报告,它可以告诉我模块 A、B 和 C 中的哪些行被我的集成测试覆盖。

我认为http://jira.codehaus.org/browse/MCOBERTURA-65 对我没有帮助。有没有简单的方法来实现这一点?

【问题讨论】:

  • +1 也在寻找相同的设置。我一直在尝试使用 Jacoco 来实现同样的目标,我遇到了 lordofthejars.com/2012/07/… 和其他一些与您在链接中所做的类似的事情。你有什么新发现吗?

标签: cobertura jacoco emma maven-cobertura-plugin


【解决方案1】:

一种可能的解决方案是使用 Emma。您应使用仪器目标在源代码模块中设置代码检测:

http://mojo.codehaus.org/emma-maven-plugin/instrument-mojo.html

成功编译和检测后,测试执行将生成覆盖率数据。然后你可以执行 emma 独立工具来生成基于它的报告:

java emma report -r txt,xml,html -in coverageA.em,coverageB.em,coverageC.em,coverage.ec -sp srcA/,srcB,srcC

coverage*.em 应替换为源代码模块中 Emma 元数据生成的正确路径,coverage.ec 是测试模块中生成的覆盖文件的路径, src* 目录应替换为源代码目录的路径。这是详细的文档:

http://emma.sourceforge.net/reference/ch02s04s03.html

你也可以用 jacoco 来做(也是一种相当棘手的方式),但由于声誉太低,我不能放置超过 2 个链接。所以喜欢就喜欢! :)

【讨论】:

猜你喜欢
  • 2015-01-10
  • 1970-01-01
  • 2020-10-29
  • 2017-06-24
  • 2014-10-03
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多