一种单元测试方法、服务端、客户端及存储介质技术

技术编号:33286367 阅读:17 留言:0更新日期:2022-04-30 23:54
本发明专利技术涉及了一种单元测试方法、服务端、客户端及存储介质,所述方法包括:响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立多个子模块与父模块的依赖关系;接收客户端发送的、针对待测试子模块的单元测试请求;响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;对所述待测试子模块运行单元测试,得到代码覆盖率;将代码覆盖率发送给客户端。本方案中多个子模块与父模块建立了依赖关系,可以根据依赖关系确定父模块下的、与待测试子模块有调用关系的关联开发代码,进而得到的代码覆盖率为所有涉及到待测试子模块功能的源代码的覆盖情况,提高了代码覆盖率测试的准确度。盖率测试的准确度。盖率测试的准确度。

【技术实现步骤摘要】
一种单元测试方法、服务端、客户端及存储介质


[0001]本专利技术涉及计算机视觉领域,尤其涉及一种单元测试方法、服务端、客户端及存储介质。

技术介绍

[0002]代码覆盖率,是指测试代码的覆盖程度。在做单元测试时,代码覆盖率通常作为衡量测试好坏的指标。
[0003]随着微服务架构开发技术的广泛应用,一个项目往往包含多个模块进行分解管理和开发。通常源代码放在一个模块目录下,而单元测试代码放在另外一个模块目录下,这样只能统计到当前模块目录下的单元测试代码覆盖率情况,而需要统计的是单元测试的代码对所有涉及到当前模块功能的源代码的覆盖率情况。因此,这种模块隔离会导致代码覆盖率测试不准确。

技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术第一方面提出一种单元测试方法,应用于服务端,所述方法包括:
[0005]响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;
[0006]接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;
[0007]响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;
[0008]对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;
[0009]将所述代码覆盖率发送给所述客户端。
[0010]可选的,所述响应于所述单元测试请求,对所述待测试子模块运行单元测试,包括:
[0011]响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;
[0012]从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;
[0013]拉取所述待测试子模块的开发代码;
[0014]利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;
[0015]获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。
[0016]可选的,所述拉取所述待测试子模块的开发代码,包括:
[0017]获取预先配置的、所述待测试子模块的开发代码对应的Git服务器地址;
[0018]从所述Git服务器地址拉取所述待测试子模块的开发代码到本地服务器。
[0019]本专利技术第二方面提出一种单元测试方法,应用于客户端,所述方法包括:
[0020]接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;
[0021]将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;
[0022]响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;
[0023]接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
[0024]可选的,在响应于针对待测试子模块的单元测试请求操作,生成测试请求之前,还包括:
[0025]响应于针对所述子模块的选择操作,确定待测试子模块。
[0026]可选的,在响应于针对所述子模块的选择操作,确定待测试子模块之前,还包括:
[0027]接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的Git服务器地址的配置操作。
[0028]本专利技术第三方面提出一种服务端,所述服务端包括:
[0029]依赖建立模块,用于响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;
[0030]请求接收模块,用于接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;
[0031]代码确定模块,用于响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;
[0032]测试模块,用于对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;
[0033]发送模块,用于将所述代码覆盖率发送给所述客户端。
[0034]可选的,所述测试模块具体用于:
[0035]响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;
[0036]从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;
[0037]拉取所述待测试子模块的开发代码;
[0038]利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;
[0039]获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。
[0040]可选的,所述测试模块具体用于:
[0041]获取预先配置的、所述待测试子模块的开发代码对应的Git服务器地址;
[0042]从所述Git服务器地址拉取所述待测试子模块的开发代码到本地服务器。
[0043]本专利技术第四方面提出一种客户端,所述客户端包括:
[0044]操作接收模块,用于接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;
[0045]指令发送模块,用于将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;
[0046]请求发送模块,用于响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;
[0047]数据接收模块,用于接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
[0048]可选的,所述客户端还包括:
[0049]子模块确定模块,用于响应于针对所述子模块的选择操作,确定待测试子模块。
[0050]可选的,所述客户端还包括:
[0051]配置操作接收模块,用于接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的Git服务器地址的配置操作。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单元测试方法,其特征在于,应用于服务端,所述方法包括:响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;将所述代码覆盖率发送给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述响应于所述单元测试请求,对所述待测试子模块运行单元测试,包括:响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;拉取所述待测试子模块的开发代码;利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。3.根据权利要求2所述的方法,其特征在于,所述拉取所述待测试子模块的开发代码,包括:获取预先配置的、所述待测试子模块的开发代码对应的Git服务器地址;从所述Git服务器地址拉取所述待测试子模块的开发代码到本地服务器。4.一种单元测试方法,其特征在于,应用于客户端,所述方法包括:接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。5.根据权利要求4所述的方法,其特征在于,在响应于针对待测试子模块的单元测试请求操作,生成测试请求之前,还包括:响应于针对所述子模块的选择操作,确定待测试子模块。6.根据权利要求5所述的方法,其特征在于,在响应于针对所述子模块的选择操作,确定待测试子模块之前,还包括:
接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的Git服务器地址的配置操作。7.一种服务端,其特征在于,所述服务端包括:依赖建立模块,用于响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述...

【专利技术属性】
技术研发人员:姜子慧杨晓波李海勇
申请(专利权)人:杭州优行科技有限公司
类型:发明
国别省市:

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

1