代码覆盖率报告生成方法、装置、计算机设备以及介质制造方法及图纸

技术编号:33963561 阅读:22 留言:0更新日期:2022-06-30 01:00
本申请涉及一种代码覆盖率报告生成方法、装置、计算机设备、存储介质和计算机程序产品,其中,方法包括:获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器执行预设的jacocoreport.sh脚本,从应用服务器收集代码覆盖率数据;根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。整个过程中,自动获取源代码、部署项目,并且采用执行jacocoreport.sh脚本的方式来从应用服务器自动收集代码覆盖率数据,最终自动生成可读的代码覆盖率报告。成可读的代码覆盖率报告。成可读的代码覆盖率报告。

【技术实现步骤摘要】
代码覆盖率报告生成方法、装置、计算机设备以及介质


[0001]本申请涉及计算机
,特别是涉及一种代码覆盖率报告生成方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着计算机技术的发展,出现了各种各样的软件程序、软件服务平台,这些程序和平台可以基于编写好的代码程序来实现对应功能,以给人们带来便捷。
[0003]在计算机编程中,代码覆盖率测试是非常重要的。具体来说,代码覆盖是软件测试的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标。
[0004]在传统技术中,代码覆盖率是由具体的测试人员通过在模拟多种测试环境,手动记录下对应的测试数据,填写之后生成最终的代码覆盖率报告。这种基于人工生成代码覆盖率报告的方案虽然最终可以得到所需的报告,但是整个过程中,需要专业的技术人员在计算机上进行多次操作,代码覆盖率报告生成效率低下。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种自动的代码覆盖率报告生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种代码覆盖率报告生成方法,方法包括:
[0007]获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;
[0008]读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器;
[0009]执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;
[0010]根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。
[0011]在其中一个实施例中,根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告包括:
[0012]根据代码覆盖率数据,生成二进制代码覆盖率文件;
[0013]结合二进制代码覆盖率文件、项目源代码以及class文件,生成可读的代码覆盖率报告。
[0014]在其中一个实施例中,结合二进制代码覆盖率文件、项目源代码以及class文件,生成可读的代码覆盖率报告包括:
[0015]调用JaCoCo工具提供的report命令,将二进制代码覆盖率文件与项目源代码以及class文件结合,转换生成HTML(HyperText Markup Language,超文本标记语言)格式的代码覆盖率报告。
[0016]在其中一个实施例中,执行预设的jacocoreport.sh脚本,从应用服务器收集代码
覆盖率数据包括:
[0017]执行预设的jacocoreport.sh脚本;
[0018]调用JaCoCo工具提供的dump命令,从应用服务器收集代码覆盖率数据。
[0019]在其中一个实施例中,获取项目源代码包括:
[0020]访问SVN服务器,通过checkout命令获取项目源代码。
[0021]在其中一个实施例中,根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告之后,还包括:
[0022]响应用户平台发送的代码覆盖率报告在线查看请求;
[0023]启动预部署的Nginx服务,通过反向代理方式将可读的代码覆盖率报告推送至用户平台。
[0024]第二方面,本申请还提供了一种代码覆盖率报告生成装置,装置包括:
[0025]编译模块,用于获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;
[0026]部署模块,用于读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器;
[0027]脚本执行模块,用于执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;
[0028]报告生成模块,用于根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。
[0029]第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
[0030]获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;
[0031]读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器;
[0032]执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;
[0033]根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。
[0034]第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0035]获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;
[0036]读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器;
[0037]执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;
[0038]根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。
[0039]第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0040]获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;
[0041]读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务
器;
[0042]执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;
[0043]根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。
[0044]上述代码覆盖率报告生成方法、装置、计算机设备、存储介质和计算机程序产品,获取项目源代码,对项目源代码进行本地构建编译,得到编译后的class文件;读取class文件所需的资源文件,将class文件与资源文件打包部署至应用服务器,执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;根据代码覆盖率数据、项目源代码以及class文件,组合生成可读的代码覆盖率报告。整个过程中,自动获取源代码、部署项目,并且采用执行jacocoreport.sh脚本的方式来从应用服务器自动收集代码覆盖率数据,最终自动生成可读的代码覆盖率报告。
附图说明
[0045]图1为一个实施例中代码覆盖率报告生成方法的应用环境图;
[0046]图2为一个实施例中代码覆盖率报告生成方法的流程示意图;
[0047]图3为另一个实施例中代码覆盖率报告生成方法的流程示意图;...

【技术保护点】

【技术特征摘要】
1.一种代码覆盖率报告生成方法,其特征在于,所述方法包括:获取项目源代码,对所述项目源代码进行本地构建编译,得到编译后的class文件;读取所述class文件所需的资源文件,将所述class文件与所述资源文件打包部署至应用服务器;执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据;根据所述代码覆盖率数据、所述项目源代码以及所述class文件,组合生成可读的代码覆盖率报告。2.根据权利要求1所述的方法,其特征在于,所述根据所述代码覆盖率数据、所述项目源代码以及所述class文件,组合生成可读的代码覆盖率报告包括:根据代码覆盖率数据,生成二进制代码覆盖率文件;结合所述二进制代码覆盖率文件、所述项目源代码以及所述class文件,生成可读的代码覆盖率报告。3.根据权利要求2所述的方法,其特征在于,所述结合所述二进制代码覆盖率文件、所述项目源代码以及所述class文件,生成可读的代码覆盖率报告包括:调用JaCoCo工具提供的report命令,将所述二进制代码覆盖率文件与所述项目源代码以及所述class文件结合,转换生成HTML格式的代码覆盖率报告。4.根据权利要求1所述的方法,其特征在于,所述执行预设的jacocoreport.sh脚本,从所述应用服务器收集代码覆盖率数据包括:执行预设的jacocoreport.sh脚本;调用JaCoCo工具提供的dump命令,从所述应用服务器收集代码覆盖率数据。5.根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:徐轲薛海伟鲁健翔戴小村
申请(专利权)人:湖南长银五八消费金融股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1