【CN110008115A】代码覆盖率统计方法、装置、电子设备及可读存储介质【专利】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910147332.5
(22)申请日 2019.02.27
(71)申请人 北京三快在线科技有限公司
地址 100083 北京市海淀区北四环西路9号
2106-030
(72)发明人 鄂乾宇
(74)专利代理机构 北京润泽恒知识产权代理有
限公司 11319
代理人 莎日娜
(51)Int.Cl.
G06F 11/36(2006.01)
(54)发明名称
代码覆盖率统计方法、装置、电子设备及可
读存储介质
(57)摘要
本发明公开了一种代码覆盖率统计方法、装
置、电子设备及可读存储介质。所述方法,包括:
根据目标项目的源代码,识别所述目标项目所包
含的子模块,所述子模块包括主运行子模块和非
主运行子模块;分别获取每个所述子模块对应的
编译文件;根据所述编译文件,分别统计每个所
述子模块的代码覆盖率。由此解决了现有的代码
覆盖率统计方法针对包含多个子模块的项目的
代码覆盖率统计结果准确性不高的技术问题。取
得了提高代码覆盖率统计结果准确性的有益效
果。权利要求书2页 说明书8页 附图2页CN 110008115 A 2019.07.12
C N 110008115
A
权 利 要 求 书1/2页CN 110008115 A
1.一种代码覆盖率统计方法,其特征在于,包括:
根据目标项目的源代码,识别所述目标项目所包含的子模块,所述子模块包括主运行子模块和非主运行子模块;
分别获取每个所述子模块对应的编译文件;
根据所述编译文件,分别统计每个所述子模块的代码覆盖率。
2.根据权利要求1所述的方法,其特征在于,所述分别获取每个所述子模块对应的编译文件的步骤,包括:
从所述目标项目对应的目标服务器中,获取所述目标项目的主运行子模块对应的编译文件,以及所述主运行子模块所依赖的第一依赖类库;
根据所述第一依赖类库,分别获取每个非主运行子模块对应的编译文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一依赖类库,分别获取每个非主运行子模块对应的编译文件的步骤,包括:
从所述第一依赖类库中获取每个所述非主运行子模块对应的第二依赖类库;
根据所述第二依赖类库,获取得到每个所述非主运行子模块对应的编译文件。
4.根据权利要求1~3之任一项所述的方法,其特征在于,所述分别获取每个所述子模块对应的编译文件的步骤,包括:
根据所述目标项目的源代码,获取每个子模块对应的代码区段;
根据每个所述子模块对应的所述代码区段,获取每个所述子模块对应的编译文件。
5.根据权利要求1~3之任一项所述的方法,其特征在于,所述根据所述编译文件,分别统计每个所述子模块的代码覆盖率的步骤,包括:
执行所述编译文件,并根据执行后的编译文件中标志位的标记结果,分别统计所述每个所述子模块的代码覆盖率。
6.根据权利要求1~3之任一项所述的方法,其特征在于,在所述分别获取每个所述子模块对应的编译文件的步骤之后,还包括:
根据所述编译文件,获取所述目标项目的代码覆盖率。
7.一种代码覆盖率统计装置,其特征在于,包括:
子模块识别模块,用于根据目标项目的源代码,识别所述目标项目所包含的子模块,所述子模块包括主运行子模块和非主运行子模块;
编译文件获取模块,用于分别获取每个所述子模块对应的编译文件;
第一代码覆盖率统计模块,用于根据所述编译文件,分别统计每个所述子模块的代码覆盖率。
8.根据权利要求7所述的装置,其特征在于,所述编译文件获取模块,包括:
第一编译文件获取子模块,用于从所述目标项目对应的目标服务器中,获取所述目标项目的主运行子模块对应的编译文件,以及所述主运行子模块所依赖的第一依赖类库;
第二编译文件获取子模块,用于根据所述第一依赖类库,分别获取每个非主运行子模块对应的编译文件。
9.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中的任一项所述的代码
2