一种覆盖率数据的确定方法技术

技术编号:39733540 阅读:6 留言:0更新日期:2023-12-17 23:36
本申请涉及一种覆盖率数据的确定方法

【技术实现步骤摘要】
一种覆盖率数据的确定方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其
JAVA
开发
,具体涉及一种覆盖率数据的确定方法

装置

电子设备及存储介质


技术介绍

[0002]Jacoco
是一个开源的代码覆盖统计工具,支持计算测试代码对项目的覆盖情况,能定位到测试未覆盖的代码部分,通过
Jacoco
可以生成代码的覆盖率数据

[0003]但是,通过
Jacoco
生成的代码的覆盖率数据一般以静态的超文本标记语言
(HyperText Markup Language

html)
文件的形式呈现,而静态的超文本标记语言文件格式固定,无法定制化,不能满足用户的需求


技术实现思路

[0004]本申请提供一种覆盖率数据的确定方法

装置

电子设备及存储介质,以解决无法基于用户需求确定代码的覆盖率数据的技术问题

本申请的技术方案如下:
[0005]根据本申请涉及的第一方面,提供一种覆盖率数据的确定方法,应用于覆盖率平台,该方法包括:响应于输入操作,获取查询信息,该查询信息用于查询测试项目的覆盖率数据,该测试项目包括测试标识,测试标识用于标识被测应用的目标功能;根据预设对应关系,确定目标功能对应的测试数据,测试数据包括被测应用在执行目标功能时运行的代码以及目标功能对应的源码,预设对应关系包括多个测试标识以及每个测试标识对应的测试数据;根据被测应用在执行目标功能时运行的代码以及目标功能对应的源码,确定并输出被测应用对应的覆盖率数据

[0006]在一种可能的实施方式中,上述方法还包括:接收来自
Jenkins
平台上传的目标测试应用的测试文件包,测试文件包包括目标测试应用的源码压缩包
、class
文件压缩包以及覆盖率
exec
文件;基于
class
文件解析覆盖率
exec
文件,得到目标测试应用对应的测试文件,并对源码压缩包进行解压,得到目标测试应用的源码;测试文件包括测试数据代码包



方法

覆盖到的以及未覆盖到的数据;为测试数据配置对应的测试
ID
,并将测试数据与测试
ID
之间的对应关系以及源码存储至数据库

[0007]在一种可能的实施方式中,上述“根据被测应用在执行目标功能时运行的代码以及目标功能对应的源码,得到被测应用对应的覆盖率数据”方法还包括:统计被测应用在执行目标功能时运行的代码的行数以及目标功能对应的源码的行数;根据被测应用在执行目标功能时运行的代码的行数与目标功能对应的源码的行数的比值,确定并输出被测应用对应的覆盖率数据

[0008]根据上述技术手段,当用户选择指定项目

测试记录
ID
后,后端从数据库查询指定覆盖率数据返回给前端,前端将覆盖率报告数据呈现给用户

如此,用户可以通过标识来查找到覆盖率数据

[0009]根据本申请涉及的第二方面,提供了一种覆盖率数据的确定方法,应用于
Jenkins
平台,该方法包括:获取被测应用的源码,并分别对源码进行压缩

编译,得到源码对应的源码压缩包及
class
文件;获取被测应用的覆盖率
exec
文件,覆盖率
exec
文件为在测试被测应用的目标功能时生成的文件;向覆盖率平台发送测试文件包,测试文件包包括被测应用的源码压缩包
、class
文件以及覆盖率
exec
文件,测试文件包用于确定被测应用对应的覆盖率数据

[0010]在一种可能的实施方式中,上述“获取被测应用的覆盖率
exec
文件”包括:在手动或自动化测试被测应用的情况下,基于预设的指令从测试平台处获取被测应用的覆盖率
exec
文件

[0011]在一种可能的实施方式中,上述“获取被测应用的覆盖率
exec
文件”还包括:在使用单元测试的方式对被测应用进行测试的情况下,测试被测应用的目标功能,生成被测应用的覆盖率
exec
文件

[0012]根据上述技术手段,
Jenkins
平台会获得测试功能的源码,并进行编译,生成
class
文件,并获取
exec
文件,为覆盖率平台打好数据基础

[0013]根据本申请提供的第三方面,提供一种覆盖率数据的确定装置,应用于测试覆盖率数据,该装置包括:获取单元,用于响应于输入操作,获取查询信息,查询信息用于查询测试项目的覆盖率数据,测试项目包括测试标识,测试标识用于标识被测应用的目标功能

确定单元,用于根据预设对应关系,确定目标功能对应的测试数据,测试数据包括被测应用在执行目标功能时运行的代码以及目标功能对应的源码,预设对应关系包括多个测试标识以及每个测试标识对应的测试数据;确定单元,还用于根据被测应用在执行目标功能时运行的代码以及目标功能对应的源码,确定并输出被测应用对应的覆盖率数据

[0014]在一种可能的实施方式中,该装置还可以包括接收单元,用于接收来自
Jenkins
平台上传的目标测试应用的测试文件包,该测试文件包包括目标测试应用的源码压缩包
、class
文件压缩包以及覆盖率
exec
文件

确定单元,还用于基于
clas s
文件解析覆盖率
exec
文件,得到目标测试应用对应的测试文件,并对源码压缩包进行解压,得到目标测试应用的源码

该测试文件包括测试数据代码包



方法

覆盖到的以及未覆盖到的数据;配置单元,还用于为测试数据配置对应的测试
ID
,并将测试数据与测试
ID
之间的对应关系以及源码存储至数据库

[0015]在一种可能的实施方式中,该确定单元还用于,统计被测应用在执行目标功能时运行的代码的行数以及目标功能对应的源码的行数;根据被测应用在执行目标功能时运行的代码的行数与目标功能对应的源码的行数的比值,确定并输出被测应用对应的覆盖率数据

[0016]根据本申请提供的第四方面,提供一种覆盖率报告查询装置,应用于
Jenkins
平台,该装置包括:获取单元,用于获取被测应用的源码,并分别对源码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种覆盖率数据的确定方法,其特征在于,应用于覆盖率平台,所述方法包括:响应于输入操作,获取查询信息,所述查询信息用于查询测试项目的覆盖率数据,所述测试项目包括测试标识,所述测试标识用于标识被测应用的目标功能;根据预设对应关系,确定所述目标功能对应的测试数据,所述测试数据包括所述被测应用在执行所述目标功能时运行的代码以及所述目标功能对应的源码,所述预设对应关系包括多个测试标识以及每个测试标识对应的测试数据;根据所述被测应用在执行所述目标功能时运行的代码以及所述目标功能对应的源码,确定并输出所述被测应用对应的覆盖率数据
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:接收来自
Jenkins
平台上传的目标测试应用的测试文件包,所述测试文件包包括所述目标测试应用的源码压缩包
、class
文件压缩包以及覆盖率
exec
文件;基于
clas s
文件解析所述覆盖率
exec
文件,得到所述目标测试应用对应的测试文件,并对所述源码压缩包进行解压,得到所述目标测试应用的源码;所述测试文件包括测试数据代码包



方法

覆盖到的以及未覆盖到的数据;为所述测试数据配置对应的测试
ID
,并将所述测试数据与所述测试
ID
之间的对应关系以及源码存储至数据库
。3.
根据权利要求1或2所述的方法,其特征在于,所述根据所述被测应用在执行所述目标功能时运行的代码以及所述目标功能对应的源码,确定并输出所述被测应用对应的覆盖率数据,包括:统计所述被测应用在执行所述目标功能时运行的代码的行数以及所述目标功能对应的源码的行数;根据所述被测应用在执行所述目标功能时运行的代码的行数与所述目标功能对应的源码的行数的比值,确定并输出所述被测应用对应的覆盖率数据
。4.
一种覆盖率数据的确定方法,其特征在于,应用于
Jenkins
平台,所述方法包括:获取被测应用的源码,并分别对所述源码进行压缩

编译,得到所述源码对应的源码压缩包及
class
文件;获取所述被测应用的覆盖率
exec
文件,所述覆盖率
exec
文件为在测试所述被测应用的目标功能时生成的文件;向覆盖率平台发送测试文件包,所述测试文件包包括所述被测应用的源码压缩包
、class
文件以及所述覆盖率
exec
文件,所述测试文件包用于确定所述被测应用对应的覆盖率数据
...

【专利技术属性】
技术研发人员:陈代付
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1