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

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave