CoverageBuilder
public CoverageBuilder(String gitPath, String newBranchName, String oldBranchName, List<String> exclusionList) {
this.classes = new HashMap<String, IClassCoverage>();
this.sourcefiles = new HashMap<String, ISourceFileCoverage>();
List<ClassInfo> classInfoList = CodeDiff.diffBranchToBranch(gitPath, newBranchName, oldBranchName);
if(exclusionList != null && !exclusionList.isEmpty()){
List<Pattern> nameList = new ArrayList<Pattern>();
List<Pattern> packageList = new ArrayList<Pattern>();
for(String item : exclusionList){
item = RegExUtils.removeAll(item, "\\*\\*\\/");
item = RegExUtils.removeAll(item, "\\/\\*\\*");
if(StringUtils.endsWith(item, ".java")||StringUtils.endsWith(item,".class")){
nameList.add(Pattern.compile(RegExUtils.replaceAll(StringUtils.remove(StringUtils.remove(item, ".java"), ".class"), "\\*", ".*")));
} else {
packageList.add(Pattern.compile(RegExUtils.replaceAll(item, "\\*", ".*")));
}
}
for (int i = classInfoList.size() -1; i >=0; i--) {
if(excludeClass(classInfoList.get(i), packageList, nameList)){
exclusionList.remove(i);
}
}
}
classInfos = classInfoList;
}
CoverageBuilder的更多相关文章
- jacoco统计server端功能测试覆盖率
jacoco可以统计,功能测试时,server代码调用的覆盖情况.这里对服务器端的java代码进行统计. 操作步骤如下: 第一步:更改server的启动脚本,使用jacocoagent.jar ...
- Java单元测试(Junit+Mock+代码覆盖率)
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- Java单元测试(Junit+Mock+代码覆盖率)---------转
Java单元测试(Junit+Mock+代码覆盖率) 原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测 ...
- Java基础学习总结(24)——Java单元测试之JUnit4详解
Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before ...
- 【java测试】Junit、Mock+代码覆盖率
原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代 ...
随机推荐
- js的宏任务和微任务有哪些,是怎么执行的 ?
事件循环有宏任务和微任务: 宏任务所处的队列就是宏任务队列,队列可以有多个,第一个队列只有一个任务就是执行主线程的js代码,剩余队列任务有setTimeout setInterval :微任务所处的 ...
- 静态库封装之ComStr类
ComStr.h #pragma once #include <string> #include <vector> using namespace std; class Com ...
- 驻扎初篇(markdown)
markdown的初级使用语法 本片作为开始使用博客的第一篇笔记 只为了方便为日后的编辑博客做基础的语言记录 以下为markdown的语法 ##标题 # 标题一 ## 标题二 ### 标题三 #### ...
- "开源"是什么?为啥这么火?一定免费吗?
在科技快速发展的今天,"开源"一词频频出现在我们的视野中.究竟什么是开源?为何它能在技术圈引发如此热潮? 开源软件到底有什么魅力?它是如何改变软件开发和使用的方式的?开源软件是 ...
- 玩黑悟空要配什么显卡?ToDesk云电脑一招搞定!
近期国产游戏大作<黑神话·悟空>的预售开启,许多玩家对于如何配置自己的电脑以畅玩这款画质卓越.支持全景光追的3A大作产生了浓厚的兴趣. 尤其是显卡的选择,成为了玩家们关注的焦点.<黑 ...
- Git项目提交规范结合Husky + commitlint使用
一.前置条件 为了更好地 GIT 提交,加入了代码提交规范和规范校验,优雅的提交: 方便团队协作和快速定位问题,采取 Husky + commitlint 辅助项目做约定. npm install ...
- 使用NodeJS 搭建 Vue + TypeScipt 快速构建工具
使用 NodeJS 搭建 Vue + TypeScipt 快速构建工具 前言: 为保证使用 Typescript 开发 Vue 的规范性和开发效率,添加组件.页面.路由.store 的时候尽量使用工具 ...
- .NET周刊【11月第1期 2024-11-03】
国内文章 .NET 9 AOT的突破 - 支持老旧Win7与XP环境 https://www.cnblogs.com/lsq6/p/18519287 .NET 9 引入了 AOT 支持,使得应用程序能 ...
- [Apache Doris] Apache Doris 架构及代码目录解读
一.系统架构 Doris是一个MPP的OLAP系统,主要整合了Google Mesa(数据模型),Apache Impala(MPP Query Engine)和Apache ORCFile (存储格 ...
- clone:克隆数据,可深度克隆
这里列出了原始类型,时间.正则.错误.数组.对象的克隆规则,其他的可自行补充 function clone(value, deep){ if(isPrimitive(value)){ return v ...