[发明专利]代码更新方法和装置在审
申请号: | 201711032935.8 | 申请日: | 2017-10-30 |
公开(公告)号: | CN109739526A | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 马静飞 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法和装置 目标源代码 代码更新 描述信息 虚拟对象 依赖关系 源代码 测试效率 更新目标 实例化 查找 申请 | ||
本申请实施例公开了代码更新方法和装置。该方法的一具体实施方式包括:确定对目标源代码中类与类之间的依赖关系进行描述的描述信息;基于描述信息中的类与类之间的依赖关系,建立类的依赖树;基于依赖树,确定目标源代码中的未实现的类;对于每个未实现的类,从依赖树中查找该类所依赖的类,并对该类所依赖的类进行实例化,生成该类所依赖的类的虚拟对象;根据所生成的虚拟对象更新目标源代码。该实施方式提高了测试效率。
技术领域
本申请涉及计算机技术领域,具体涉及代码处理技术领域,尤其涉及代码更新方法和装置。
背景技术
目前,在开发代码的过程中,由于开发环境与线上环境不一样,在对代码进行测试(例如,压力测试、前后台交互测试)时,会存在一些困难。目前的主流方法是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟对象来创建以便进行测试。但这种测试方法通常需要有开发人员编写大量的虚拟对象,编写过程比较繁琐,导致测试效率较低。
发明内容
本申请实施例的目的在于提出一种改进的代码更新方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种代码更新方法,该方法包括:确定对目标源代码中类与类之间的依赖关系进行描述的描述信息;基于描述信息中的类与类之间的依赖关系,建立类的依赖树;基于依赖树,确定目标源代码中的未实现的类;对于每个未实现的类,从依赖树中查找该类所依赖的类,并对该类所依赖的类进行实例化,生成该类所依赖的类的虚拟对象;根据所生成的虚拟对象更新目标源代码。
在一些实施例中,在生成该类所依赖的类的虚拟对象之后,该方法还包括:从预先建立的数据字典中查找与该类所依赖的类匹配的至少一个数据成员信息,其中,数据成员信息包括数据成员名称和至少一个值,数据字典用于表征类与数据成员信息的对应关系;对于该类所依赖的类的虚拟对象的至少一个数据成员中的每个数据成员,在所查找到的至少一个数据成员信息中数据成员名称与该数据成员的数据成员名称相同的至少一个值中选取一个值,并将该数据成员的值确定为所选取的值。
在一些实施例中,基于描述信息中的类与类之间的依赖关系,建立类的依赖树,包括:查找目标源代码中的预设关键字;基于在目标源代码中查找关键字的查找结果,确定描述信息中的类与类之间的依赖关系。
在一些实施例中,目标源代码对应有配置文件;以及基于描述信息中的类与类之间的依赖关系,建立类的依赖树,包括:解析目标源代码对应的配置文件,确定描述信息中的类与类之间的依赖关系。
在一些实施例中,该方法还包括:基于依赖树,确定目标源代码中的实现的类;对于每个实现的类,从依赖树中查找该类所依赖的类,并通过反射机制,生成该类所依赖的类的实例化对象。
第二方面,本申请实施例提供了一种代码更新装置,该装置包括:第一确定单元,配置用于确定对目标源代码中类与类之间的依赖关系进行描述的描述信息;建立单元,配置用于基于描述信息中的类与类之间的依赖关系,建立类的依赖树;第二确定单元,配置用于基于依赖树,确定目标源代码中的未实现的类;第一生成单元,配置用于对于每个未实现的类,从依赖树中查找该类所依赖的类,并对该类所依赖的类进行实例化,生成该类所依赖的类的虚拟对象;更新单元,配置用于根据所生成的虚拟对象更新目标源代码。
在一些实施例中,该装置还包括:查找单元,配置用于从预先建立的数据字典中查找与该类所依赖的类匹配的至少一个数据成员信息,其中,数据成员信息包括数据成员名称和至少一个值,数据字典用于表征类与数据成员信息的对应关系;第三确定单元,配置用于对于该类所依赖的类的虚拟对象的至少一个数据成员中的每个数据成员,在所查找到的至少一个数据成员信息中数据成员名称与该数据成员的数据成员名称相同的至少一个值中选取一个值,并将该数据成员的值确定为所选取的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711032935.8/2.html,转载请声明来源钻瓜专利网。