maven+cobertura+ant跨模块单测覆盖率统计

2024-06-14 22:48

本文主要是介绍maven+cobertura+ant跨模块单测覆盖率统计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

cobertura是统计单测覆盖率的工具,但是一般不会使用到ant一起统计。

--父pom.xml

----web

      --pom.xml

---service

      --pom.xml

maven+cobertura+ant使用场景:当应用是这样设计的,web应用、service应用,controller接口在web应用中,service仅仅作为web的jar包依赖,单测却写在web下,springboot启动类在web下。maven+cobertura使用统计覆盖率却始终未0,可明明有单测啊。

为了查明原因,特意百度了下cobertura的使用,得出结论:web和service生产的classes文件在2个不同的target下,web下的类引用不到service的,web对service maven依赖也不行。

这就要用到ant了,ant的作用是比较灵活的,具体是什么作用问度娘(为了节约时间,这里就不那么详细说了),

如何使用ant解决?

参考http://blog.csdn.net/shymi1991/article/details/52849947

注意:

1.  build.xml中<property name="COBERTURA_HOME" value="/Users/tsu/java/cobertura-1.9.4.1"/> 

COBERTURA_HOME 是指单独下载的cobertura,而非maven依赖下的jar包。(所以这里需要单独下载cobertura

2. 使用intelij时会发生执行命令不成功,那么就换到命令终端里执行。

3. 一般的ide中都集成了ant插件,如果没集成则需要自己下载一个,http://org.apache.com/。(下载到本地,过程和下载maven类似)

4. 配置完需要重新编译。

5. 若执行ant instrument时报错,提示主类找不到(我用的是springboot,因此这里的主类是指springboot启动类),这时需要解决某些包的冲突问题,

比如我遇到的是cobertura的日志配置和我当前应用的日志配置是冲突的,那么我在web的pom.xml中配置cobertura时添加<exclude>标签将cobertura的日志配置排除掉。

6.注意线上执行单测统计覆盖率时,需要检查线上环境是否支持ant和存在cobertura的配置。

这篇关于maven+cobertura+ant跨模块单测覆盖率统计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061715

相关文章

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

使用maven依赖详解

《使用maven依赖详解》本文主要介绍了Maven的基础知识,包括Maven的简介、仓库类型、常用命令、场景举例、指令总结、依赖范围、settings.xml说明等,同时,还详细讲解了Maven依赖的... 目录1. maven基础1.1 简介1.2 仓库类型1.3 常用命令1.4 场景举例1.5 指令总结

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链