一种基于外挂程序的mock平台及方法技术

技术编号:37846656 阅读:15 留言:0更新日期:2023-06-14 22:31
本文涉及软件开发领域,尤其涉及一种基于外挂程序的mock平台及方法。所述平台包括外挂程序及mock配置中心;外挂程序包括:基础信息发送模块,用于获取被测服务的基础信息,将基础信息发送至mock配置中心;mock配置缓存模块,用于接收mock配置中心发送的mock配置信息;mock方法增强模块,用于对被测服务中对应待修改的方法进行增强处理,利用增强处理后的方法响应测试请求;mock配置中心包括:被测服务管理模块,用于查看从外挂程序获取的被测服务的基础信息;mock配置管理模块,用于确定被测服务的mock配置信息。本方案对被测服务进行集中统一管理,避免项目中硬编码,提高测试效率。率。率。

【技术实现步骤摘要】
一种基于外挂程序的mock平台及方法


[0001]本文涉及软件开发领域,尤其是一种基于外挂程序的mock平台及方法。

技术介绍

[0002]在JAVA微服务架构下开发联调测试过程中,由于依赖的外部服务不稳定或者依赖的内部模块数据构造复杂,经常需要通过mock来模拟依赖对象的行为。例如,由于三方系统未开发完成无法提供测试环境,或计费逻辑复杂构造测试的预期值困难,需要通过mock技术模拟生成数据。
[0003]目前,mock技术主要分为服务端mock和客户端mock。服务端mock需要将被测应用请求地址修改指向mock服务,通过mock服务模拟外部服务行为,这种方法无法模拟被测应用内部复杂的计算逻辑,且现有的服务端mock工具支持的请求协议有限,对于非主流协议和自定义协议就需要额外拓展,且修改配置项需要重启被测应用,耗费资源及时间。
[0004]客户端mock则是通过拦截被测代码直接从方法内部返回mock对象,现有的客户端mock工具主要用于单元测试,大多通过动态代理技术实现,需要在被测服务中硬编码方式写大量的测试mock代码,对被测服务代码有一定代码侵入,并且每次修改测试mock代码需要重新执行测试程序,测试效率低。

技术实现思路

[0005]为解决现有技术中服务端mock无法模拟被测应用内部复杂计算逻辑、客户端mock需要重新编写代码、重新发布的问题,本文实施例提供了一种基于外挂程序的mock平台及方法。
[0006]本文实施例提供了一种基于外挂程序的mock平台,所述平台包括外挂程序及mock配置中心;所述外挂程序包括:基础信息发送模块,用于获取被测服务的基础信息,当所述被测服务处于启动状态,将所述基础信息发送至所述mock配置中心;mock配置缓存模块,用于接收所述mock配置中心发送的mock配置信息;mock方法增强模块,用于根据所述mock配置信息对被测服务中对应待修改的方法进行增强处理,利用增强处理后的方法响应测试请求;所述mock配置中心包括:被测服务管理模块,用于查看从外挂程序获取的被测服务的基础信息;mock配置管理模块,用于根据业务需求及被测服务的基础信息确定被测服务的mock配置信息。
[0007]根据本文实施例的一个方面,所述外挂程序还包括mock日志发送模块,用于定时将增强处理后的结果生成日志信息,并发送至所述mock配置中心;所述mock配置中心还包括mock日志记录查询模块,用于查看所述mock日志发送模块发送的mock日志。
[0008]本文实施例提供了一种基于外挂程序的mock方法,所述方法应用于植入被测服务中的外挂程序,包括:获取所述被测服务的基础信息;当所述被测服务处于启动状态,将所述基础信息发送至mock配置中心;接收所述mock配置中心根据业务需求及所述基础信息生成的mock配置信息;根据所述mock配置信息对被测服务中的待修改方法进行增强处理,得
到增强结果。
[0009]根据本文实施例的一个方面,所述基础信息包括:第一基础信息及第二基础信息,其中,所述第一基础信息包括:被测服务标识、被测服务所属环境标识、被测服务通讯端口,所述第二基础配置信息包括所述第一基础配置信息及被测服务当前已获取的mock配置信息;将所述基础信息发送至mock配置中心包括:每等待第一定时调度周期,将第一基础信息发送至mock配置中心;每等待第二定时调度周期,将第二基础信息发送至mock配置中心。
[0010]根据本文实施例的一个方面,所述方法还包括:从mock配置中心获取mock配置信息后,计算mock配置信息的摘要,并将所述摘要存放在本地,得到本地配置信息摘要;根据预设周期,从mock配置中心定时重新获取mock配置信息摘要;判断获取的mock配置信息摘要与本地配置信息摘要是否一致;若不一致,则重新获取mock配置信息,并利用获取的mock配置信息摘要更新本地配置信息摘要;根据重新获取的mock配置信息,对所述被测服务中的待修改方法进行增强处理;若一致,不做增强处理。
[0011]根据本文实施例的一个方面,根据所述mock配置信息对被测服务中的待修改方法进行增强处理,得到增强结果包括:对所述mock配置信息中对应的待修改方法执行mock脚本,得到输出结果;利用字节码编写技术对字节码进行增强。
[0012]根据本文实施例的一个方面,所述方法还包括:拷贝所述待修改方法,得到待修改方法的备份;若所述待修改方法失效,利用所述备份还原所述待修改方法,执行所述待修改方法的原有逻辑。
[0013]本文实施例还公开了一种外挂程序,包括:基础信息发送模块,用于获取被测服务的基础信息,当所述被测服务处于启动状态,将所述基础信息发送至所述mock配置中心;mock配置获取模块,用于接收所述mock配置中心发送的mock配置信息;mock方法增强模块,用于根据所述mock配置信息对被测服务中对应待修改的测试方法进行增强处理,利用处理后的测试方法响应测试请求。
[0014]本文实施例还提供了一种基于外挂程序的mock方法,所述方法应用于mock配置中心,包括:查看从外挂程序获取的被测服务的基础信息;根据业务需求及被测服务的基础信息确定被测服务的mock配置信息,所述mock配置信息包括mock脚本及mock端点。
[0015]根据本文实施例的一个方面,所述mock脚本通过如下步骤确定:根据业务开发规则,确定待修改方法的输入参数及返回数据,基于groovy完成mock脚本的配置。
[0016]本文实施例还提供了一种mock配置中心,包括:被测服务管理模块,用于查看从外挂程序获取的被测服务的基础信息;mock配置管理模块,用于根据业务需求及被测服务的基础信息确定被测服务的mock配置信息。
[0017]本方案无需担心mock代码被发布到生产环境,保证线上发布安全。通过脚本构造各种正常和异常的返回结果,从而更充分测试,提高测试覆盖率。服务脚本日志能够对被测服务进行集中统一管理,对mock掌控能力更强避免依赖方的影响,阻碍项目进度,无代码侵入,避免项目中硬编码,提高测试效率。
附图说明
[0018]为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1所示为本文实施例一种基于外挂程序的mock平台的示意图;
[0020]图2所示为本文实施例又一种基于外挂程序的mock平台的示意图;
[0021]图3所示为本文实施例一种基于外挂程序的mock方法流程图;
[0022]图4所示为本文实施例一种发送基础信息的方法流程图;
[0023]图5所示为本文实施例一种获取mock配置信息的方法流程图;
[0024]图6所示为本文实施例一种对方法进行增强处理的方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于外挂程序的mock平台,其特征在于,所述平台包括外挂程序及mock配置中心;所述外挂程序包括:基础信息发送模块,用于获取被测服务的基础信息,当所述被测服务处于启动状态,将所述基础信息发送至所述mock配置中心;mock配置缓存模块,用于接收所述mock配置中心发送的mock配置信息;mock方法增强模块,用于根据所述mock配置信息对被测服务中对应待修改的方法进行增强处理,利用增强处理后的方法响应测试请求;所述mock配置中心包括:被测服务管理模块,用于查看从外挂程序获取的被测服务的基础信息;mock配置管理模块,用于根据业务需求及被测服务的基础信息确定被测服务的mock配置信息。2.根据权利要求1所述的基于外挂程序的mock平台,其特征在于,所述外挂程序还包括mock日志发送模块,用于定时将增强处理后的结果生成日志信息,并发送至所述mock配置中心;所述mock配置中心还包括mock日志记录查询模块,用于查看所述mock日志发送模块发送的mock日志。3.一种基于外挂程序的mock方法,其特征在于,应用于植入被测服务中的外挂程序,所述方法包括:获取所述被测服务的基础信息;当所述被测服务处于启动状态,将所述基础信息发送至mock配置中心;接收所述mock配置中心根据业务需求及所述基础信息生成的mock配置信息;根据所述mock配置信息对被测服务中的待修改方法进行增强处理,得到增强结果。4.根据权利要求3所述的基于外挂程序的mock方法,其特征在于,所述基础信息包括:第一基础信息及第二基础信息,其中,所述第一基础信息包括:被测服务标识、被测服务所属环境标识、被测服务通讯端口,所述第二基础信息包括所述第一基础配置信息及所述被测服务当前已获取的mock配置信息;将所述基础信息发送至mock配置中心包括:每等待第一定时调度周期,将第一基础信息发送至mock配置中心;每等待第二定时调度周期,将第二基础信息发送至mock配置中心。5.根据权利要求4所述的基于外挂程序的mock方法,其特征在于,所述方法还包括:从mock配置中心获取mock配置信息后,计算mock配置信息的摘要,并将所述...

【专利技术属性】
技术研发人员:陈伟超孙丽川吴迪
申请(专利权)人:厦门友微科技有限公司
类型:发明
国别省市:

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

1