System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种覆盖率检测方法、装置、设备和存储介质。
技术介绍
1、代码覆盖率是一个用于衡量软件测试覆盖程度的指标,它表示在测试过程中,被执行到的代码占总代码的比例。在现有技术中,通常应用jacoco工具检测代码覆盖率。
2、目前,在新业务线搭建时,往往基于相关已有业务线的系统架构复制、修改,存在较多新业务线系统代码有冗余代码的情况。而应用现有技术检测代码覆盖率的过程中,往往不会排除掉冗余代码,这导致检测得到的代码覆盖率不够准确。
技术实现思路
1、本申请的主要目的在于提供了一种覆盖率检测方法、装置、计算机设备和存储介质,旨在解决检测得到的代码覆盖率不够准确的技术问题。
2、为实现上述目的,本申请提供一种覆盖率检测方法,该方法包括:
3、接收检测请求;
4、响应于所述检测请求,确定n个第一接口;所述第一接口为所述检测请求调用的接口,n为大于1的正整数;
5、根据各个第一接口对应的响应时间,确定m个第二接口;所述m个第二接口为所述n个第一接口中的至少部分接口,m为小于或等于n的正整数;
6、根据各个第二接口对应的代码,确定有效代码合集;
7、基于所述有效代码合集,生成覆盖率检测结果。
8、可选地,所述根据各个第一接口对应的响应时间,确定m个第二接口,包括:
9、通过代码链路解析工具,得到所述各个第一接口之间的调用关系;
10、根据所述各个第一接口的响
11、根据筛选后的各个第一接口对应的响应时间,确定m个第二接口。
12、可选地,所述通过代码链路解析工具,得到所述各个第一接口之间的调用关系,包括:
13、通过所述代码链路解析工具,得到所述各个第一接口之间的调用链路;
14、基于所述调用链路,生成所述n个第一接口对应的静态调用图或动态调用图。
15、可选地,所述根据所述各个第一接口的响应时间,以及所述调用关系,对所述n个第一接口进行筛选,包括:
16、判断各个第一接口的调用关系与对应的响应时间是否匹配;
17、删除所述n个第一接口中调用关系与对应的响应时间不匹配的第一接口。
18、可选地,所述根据各个第一接口对应的响应时间,确定m个第二接口,包括:
19、获取各个第一接口对应的响应时间;
20、将对应响应时间处于预设时间段内的第一接口,确定为第二接口,得到所述m个第二接口。
21、可选地,所述根据各个第二接口对应的代码,确定有效代码合集,包括:
22、获取各个第二接口对应的代码;
23、合并所述各个第二接口对应的代码,得到有效代码合集。
24、可选地,所述基于所述有效代码合集,生成覆盖率检测结果,包括:
25、获取所述有效代码合集中被执行代码的行数;
26、将所述被执行代码的行数与所述有效代码合集中的代码行数之间的比值,确定为代码覆盖率。
27、此外,为实现上述目的,本申请还提供一种覆盖率检测装置,所述覆盖率检测装置包括:
28、接收模块,用于接收检测请求;
29、第一确定模块,用于响应于所述检测请求,确定n个第一接口;所述第一接口为所述检测请求调用的接口,n为大于1的正整数;
30、第二确定模块,用于根据各个第一接口对应的响应时间,确定m个第二接口;所述m个第二接口为所述n个第一接口中的至少部分接口,m为小于或等于n的正整数;
31、第三确定模块,用于根据各个第二接口对应的代码,确定有效代码合集;
32、生成模块,用于基于所述有效代码合集,生成覆盖率检测结果。
33、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
34、所述计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例中提出的任一项所述的覆盖率检测方法的步骤。
35、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
36、所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中提出的任一项所述的覆盖率检测方法的步骤。
37、与现有技术相比,本申请实施例主要有以下有益效果:
38、本申请提供了一种覆盖率检测方法、装置、设备和存储介质,上述方法包括:接收检测请求;响应于检测请求,确定n个第一接口;第一接口为检测请求调用的接口,n为大于1的正整数;根据各个第一接口对应的响应时间,确定m个第二接口;m个第二接口为n个第一接口中的至少部分接口,m为小于或等于n的正整数;根据各个第二接口对应的代码,确定有效代码合集;基于有效代码合集,生成覆盖率检测结果。本申请实施例中,获取响应检测请求的n个第一接口,根据各个第一接口对检测请求的响应时间,筛选n个第一接口,得到m个第二接口,根据各个第二接口对应的代码,确定有效代码合集;通过上述方式排查冗余代码,进而基于有效代码合集,生成覆盖率检测结果。以此检测得到的代码覆盖率不包括冗余代码,提高了准确性。
本文档来自技高网...【技术保护点】
1.一种覆盖率检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各个第一接口对应的响应时间,确定M个第二接口,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过代码链路解析工具,得到所述各个第一接口之间的调用关系,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述各个第一接口的响应时间,以及所述调用关系,对所述N个第一接口进行筛选,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据各个第一接口对应的响应时间,确定M个第二接口,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据各个第二接口对应的代码,确定有效代码合集,包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述基于所述有效代码合集,生成覆盖率检测结果,包括:
8.一种覆盖率检测装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的覆盖
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的覆盖率检测方法的步骤。
...【技术特征摘要】
1.一种覆盖率检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各个第一接口对应的响应时间,确定m个第二接口,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过代码链路解析工具,得到所述各个第一接口之间的调用关系,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述各个第一接口的响应时间,以及所述调用关系,对所述n个第一接口进行筛选,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据各个第一接口对应的响应时间,确定m个第二接口,包括:
6.根据权利要求1所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:薛权周,江颍警,
申请(专利权)人:深圳依时货拉拉科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。