java - 如何使用 Cobertura 检测多项目 Maven 2?

标签 java testing maven-2 code-coverage cobertura

我的 Maven 2 项目由几个子模块组成。它的结构包含 EJB、WAR 和 Jar 子模块。现在我想检测包含上述所有子模块的打包 EAR。

例子:

Interface Maven Project consists of several modules:
- InterfacePOM --> parent pom
- InterfaceEAR --> EAR module which does not actual code but is the packaging for Domain, EJB and WAR
- InterfaceEJB --> EJB module
- interfaceWAR --> WAR module
- interfaceDomain --> JAR module

使用 Cobertura 时,我可以成功检测所有各种独立模块,但每个模块生成一个 .ser 文件。有没有一种方法可以立即检测整个 EAR 文件?这样结果将是我可以使用的单个 .ser 文件??

最佳答案

简短回答:(查看this previous answer了解更多详情)。您需要一个外部插件,例如 dashboard (其实不用,看我之前的回答),XRadarSonar汇总报告。但在这个领域,Sonar 是明显的赢家(这个项目非常棒),我会毫不犹豫地推荐它。查看Nemo ,他们的公共(public)实例,选择任何项目并查看代码覆盖率的向下钻取(例如 Apache CXF )以了解它可以做什么。

更新:看来我错过了最初问题的要点,所以我正在相应地更新我的答案。基本上,我现在将这个问题理解为“如何用 cobertura 检测耳朵”,这确实是一个完全不同的故事。

不幸的是,cobertura可以检测耳朵、sar、zip、war、jar,我不认为 cobertura-maven-plugin支持这种开箱即用的功能,将 cobertura 的 ant 任务与 antrun 插件一起使用可能是更好的选择。参见 MCOBERTURA-86 , 这个thread还有这个discussion有关此的更多背景信息(以及 antrun 示例)。

TBH,您尝试做的事情在构建生命周期、打包、报告等方面确实并不容易,并且由于缺乏 cobertura 插件的支持,这将是一项艰巨的任务。我真的会考虑两次(投资时间让整个事情正常运转与产生的值(value)相比)或者考虑花时间(了解金钱)获得三叶草许可证(为此提供更好的支持)。

关于java - 如何使用 Cobertura 检测多项目 Maven 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022978/

相关文章:

java - 我们可以从失败的地方开始 Maven 构建吗

java - 在另一个maven项目中使用测试类

JAVA TextArea 等待输入

java - JTable 中的换行、右对齐、自动调整行高

java - 测试包中的类在 IntelliJ 中编译时不可用

maven-2 - 奇怪的 Maven 内存不足错误

java - Eclipse Ant 类路径问题

ruby-on-rails - 初始化后的工厂女孩

perl - 如何使用 Test::more 忽略 perl 中的 TAP 结果?

java - 用于部署的 Maven、Java 和自定义文件