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

相关文章

iptables(7)扩展模块state

简介         前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块  state          在 iptables 的上下文中,--state 选项并不是直接关联于一个扩展模块,而是与 iptables 的 state 匹配机制相关,特

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

python 在pycharm下能导入外面的模块,到terminal下就不能导入

项目结构如下,在ic2ctw.py 中导入util,在pycharm下不报错,但是到terminal下运行报错  File "deal_data/ic2ctw.py", line 3, in <module>     import util 解决方案: 暂时方案:在终端下:export PYTHONPATH=/Users/fujingling/PycharmProjects/PSENe

[FPGA][基础模块]跨时钟域传播脉冲信号

clk_a 周期为10ns clk_b 周期为34ns 代码: module pulse(input clk_a,input clk_b,input signal_a,output reg signal_b);reg [4:0] signal_a_widen_maker = 0;reg signal_a_widen;always @(posedge clk_a)if(signal_a)

统计是一门艺术(点估计)

1 点估计 1.1 点估计理解(point estimate) 总体,样本属于参数空间 一般未知,要由样本对作一个估计,或对作一个估计,这种估计称为点估计 通常用记为的一个点估计。 1.2 点估计的方法 (1)矩估计: 就是用样本矩来代替总体矩,当然有好有坏 设为总体的一个简单随机样本,, 分别称, 为k阶样本原点矩和k阶样本中心矩. 记 为什么能用矩估计?

spring-boot-maven-plugin多模块install问题

一、问题描述:   项目分多个模块,open-eureka注册中心、open-provider服务提供者、open-common公共部分,provider依赖common。父pom使用spring-boot-maver-plugin插件,项目直接运行Main主类没问题,但是install报common中的类找不到符号. 二、查找问题:   spring-boot-maven-plugin 打

上位机图像处理和嵌入式模块部署(mcu和swd接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         最近学习mcu的时候,接触了不少调试器,这里面有daplink、st-link v2、j-link v9。虽然模块的形状可能不太一样,但是硬件的连线都差不多,都是mcu上的3.3v、clk、dio和gnd四根连线。出于好奇,今天花了点时间了解了一下debug port、sw

使用import和exec运行模块文件的异同

使用import和exec运行模块文件的异同 实例代码 #script1.pyimport sysprint(sys.platform)x = 'span'print(x*8) 在cmd中 >>> import script1win32spanspanspanspanspanspanspanspan >>> exec(open('script1.py').read())win

Maven的依赖传递、依赖管理、依赖作用域

在Maven项目中通常会引入大量依赖,但依赖管理不当,会造成版本混乱冲突或者目标包臃肿。因此,我们以SpringBoot为例,从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的,依赖的依赖也会连带引入。例如在项目中引入了spring-boot-starter-web依赖: <dependency><groupId>org.springframework.boot</groupId>

金蝶盘点机PDA进行工序汇报扫描,工时工资统计使用说明书

使用盘点机PDA扫描商品条码(序列号)进行工序汇报,自动生成电脑里的【工序汇报单】,自动计算工时,工资。这样就不用去电脑上人工手工一行行录单,大大提高工作效率和数据准确性。 操作时,只需要商品条码(序列号)即可实现快速,准确的工序汇报。从而防止电脑进行工序汇报耗时,费事,不准确的问题。 注意商品条码规则:产品代码+钢管长度+炉号+管号+合同号+序列号 下面我们看下【工序汇报单】的操作步骤