[发明专利]一种自动mock外部依赖的方法及装置有效

专利信息
申请号: 201410370258.0 申请日: 2014-07-30
公开(公告)号: CN105335281B 公开(公告)日: 2018-03-20
发明(设计)人: 孙琛 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京弘权知识产权代理事务所(普通合伙)11363 代理人: 逯长明,许伟群
地址: 开曼群岛*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 自动 mock 外部 依赖 方法 装置
【权利要求书】:

1.一种自动mock外部依赖的方法,其特征在于,包括:

获取被测代码的名称,以及获取所述被测代码调用外部依赖的调用参数和调用次数,所述获取被测代码的名称,以及获取被测代码调用外部依赖的调用参数和调用次数,包括:拦截所述被测代码对外部依赖的调用,记录被测代码的名称、调用参数和调用次数;

获取所述外部依赖对所述调用产生的返回值或者返回对象;

根据所述被测代码的名称、调用参数和调用次数生成mock特征值,所述mock特征值为唯一的表征所述被测代码的名称、调用参数和调用次数的值;

将所述外部依赖的返回值或者返回对象序列化为返回文本;

将所述mock特征值与所述返回文本对应,所述mock特征值和对应的所述返回文本构成mock对象。

2.如权利要求1所述的自动mock外部依赖的方法,其特征在于,所述获取所述外部依赖对所述调用产生的返回值或者返回对象,包括:

根据所述调用参数和调用次数调用外部依赖;

记录外部依赖的返回值或者返回对象。

3.如权利要求1所述的自动mock外部依赖的方法,其特征在于,根据被测代码的名称、调用参数和调用次数使用哈希算法生成mock特征值。

4.一种自动mock外部依赖的装置,其特征在于,包括:

被测端数据获取模块,用于获取被测代码的名称,以及获取被测代码调用外部依赖的调用参数和调用次数,所述被测端数据获取模块,包括:

被测端拦截子模块,用于拦截被测代码对外部依赖的调用;

被测端记录子模块,用于记录被测代码的名称、调用参数和调用次数;

外部端数据获取模块,用于获取外部依赖对所述调用产生的返回值或者返回对象;

mock对象生成模块,用于根据被测代码的名称、调用参数和调用次数生成mock特征值,将所述外部依赖的返回值或者返回对象序列化为返回文本,且将所述mock特征值与所述返回文本对应,所述mock特征值和对应的返回文本构成mock对象,其中,所述mock特征值为唯一的表征所述被测代码的名称、调用参数和调用次数的值;

存储模块,用于存储所述mock对象。

5.如权利要求4所述的自动mock外部依赖的装置,其特征在于,所述外部端数据获取模块,包括:

调用子模块,用于根据所述调用参数和调用次数调用外部依赖;

外部端记录子模块,用于记录外部依赖的返回值或者返回对象。

6.如权利要求4所述的自动mock外部依赖的装置,其特征在于,所述mock对象生成模块,包括:

mock特征值生成子模块,用于根据被测代码的名称、调用参数和调用次数生成mock特征值;

序列化子模块,用于将所述外部依赖的返回值或者返回对象序列化为返回文本;

构建子模块,用于将所述mock特征值与所述外部依赖的返回值或者返回对象对应,所述mock特征值和对应的所述外部依赖的返回值或者返回对象构成mock对象。

7.一种mock测试方法,其特征在于,包括:

拦截被测代码对外部依赖的调用;

获取被测代码的名称、调用参数和调用次数;

根据所述被测代码的名称、调用参数和调用次数生成调用特征值,且所述调用特征值的生成方法和mock对象中mock特征值的生成方法相同,所述调用特征值为唯一的表征所述被测代码的名称、调用参数和调用次数的值;

根据所述调用特征值在mock对象中查找对应的返回文本;

反序列化所述返回文本,得到外部依赖的返回值或者返回对象;

将所述返回值或者返回对象返回给被测代码;

验证所述返回值或者返回对象。

8.一种mock测试装置,其特征在于,包括:

调用拦截模块,用于拦截被测代码对外部依赖的调用;

数据获取模块,获取被测代码的名称、调用参数和调用次数;

调用特征值生成模块,用于根据所述被测代码的名称、调用参数和调用次数生成调用特征值,且所述调用特征值的生成方法和mock对象中mock特征值的生成方法相同,所述调用特征值为唯一的表征所述被测代码的名称、调用参数和调用次数的值;

查找模块,用于根据所述调用特征值在mock对象中查找对应的返回文本;

反序列化模块,用于反序列化所述返回文本,得到外部依赖的返回值或者返回对象;

返回模块,用于将所述返回值或者返回对象返回给被测代码;

验证模块,用于验证所述返回值或者返回对象。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410370258.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top