一种批量自动生成回声测试的方法和装置与流程

文档序号:18884408发布日期:2019-10-15 20:39阅读:195来源:国知局
一种批量自动生成回声测试的方法和装置与流程

本发明涉及回声处理技术领域,尤其涉及一种批量自动生成回声测试的方法和装置。



背景技术:

目前当开发人员需要检测dubbo服务可用状态时,普遍使用直接调用接口或去dubbo服务管理平台上手动查询的方式:

如其中一种方式,直接调用接口;相关技术中直接调用接口查询dubbo服务的可用状态一般采用下列方式:步骤1、准备测试需要的spring配置文件;步骤2、根据需要测试的接口的接口信息和spring配置文件,人工编写回声测试程序;步骤3、运行回声测试程序来检测该接口是否可用;步骤4、如果要对项目中的多个接口进行回声测试,则需要先从项目中搜集好这些接口的接口信息,并重复步骤2和步骤3,直至所有接口测试完毕。

如其中一种方式,去dubbo服务管理平台上手动查询技术,相关技术中的dubbo服务管理平台,如果要对项目中的多个接口进行回声测试,则需要先从项目中搜集好这些接口的接口信息(例如接口名称),然后逐一输入到“服务名”搜索栏中,逐一获得服务可用状态。

如一种基于dubbo的分布式业务处理系统及方法,该系统包括:公共代码模块,用于定义dubbo服务模块的入参、出参和接口形态;对外接口模块,用于在接收到前端的业务请求时,按照入参、出参和接口形态调用dubbo服务模块;dubbo服务模块,用于根据对外接口模块的调用,调用数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。(cn107181806a的专利文件参考,括号内容建议后期删除)

可见,当遇到需大量检测服务可用状态的情形时,如项目迁移这种需要检测项目下所有服务可用状态时,无论使用哪种方式,查询时都会带来大量的重复动作。



技术实现要素:

针对上述现有技术的不足,本发明的目的是提供一种批量自动生成回声测试的方法和装置,解决现有方式在需批量查询dubbo接口可用状态时,重复动作较多,耗费时间,效率低下的问题。

为了解决上述技术问题,根据本发明的一个方面,提供了一种批量自动生成回声测试的方法,包括以下步骤:包括以下步骤:

s1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;

s2、检测项目内需要进行回声测试的接口信息;

s3、根据接口信息和代码模板批量生成回声测试程序;

s4、运行回声测试程序检测项目内需要进行测试的接口是否可用。

进一步的,步骤s1的具体实现方法为:将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为echoservice接口并调用$echo(objectmessage)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置。

进一步的,还包括创建从jar包中读取dubbo服务信息的静态方法,所述从jar包中读取dubbo服务信息的静态方法的实现方式为从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,将其中需要测试的包下接口路径提取出,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中。

进一步的,将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置。

进一步的,所述模板工具为freemaker。

进一步的,所述指定位置为c盘、d盘或e盘。

根据本发明的另一个方面,提供了一种批量自动生成回声测试的装置,包括:

模板生成单元,用于将回声测试需要的配置文件和测试代码进行配置;

检测单元,用于检测项目内需要进行回声测试的接口信息;

测试单元,用于根据接口信息和代码模板批量生成回声测试程序,运行回声测试程序检测项目内需要进行测试的接口是否可用。

本发明的有益效果体现在:

1、本发明可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。

2、由于所有dubbo接口都实现了echoservice接口,我们可以对需要进行检验的接口做统一处理,批量使接口调用echoservice中的$echo(objectmessage)方法去检验dubbo服务可用性来减少重复操作。可以对dubbo服务可用状态进行批量检测,减少重复操作,省时省力,效率高。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例1的一种批量自动生成回声测试的方法的流程图

图2为本发明实施例2的一种批量自动生成回声测试的方法的流程图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

实施例1,如图1所示,提供了一种批量自动生成回声测试的方法,包括以下步骤:

s1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;

s2、检测项目内需要进行回声测试的接口信息;

s3、根据所述接口信息和所述代码模板批量生成回声测试程序;

s4、运行所述回声测试程序检测项目内需要进行回声测试的接口是否可用。

本发明可快速、批量生成回声测试程序(dubbo服务回声测试所需的代码),相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。

回声测试用于检测服务是否可用,回声测试按照正常请求流程执行,能够测试整个调用是否通畅,可用于监控。所有服务自动实现echoservice接口,只需将任意服务引用强制转型为echoservice,即可使用。

实施例2,如图1所示,一种批量自动生成回声测试的方法,包括以下步骤:

s1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;具体的,将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为echoservice接口并调用$echo(objectmessage)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置;

s2、检测项目内需要进行回声测试的接口信息;包括创建从jar包中读取dubbo服务信息的静态方法,所述从jar包中读取dubbo服务信息的静态方法的实现方式为从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,提取其中需要测试的包下接口路径,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中;

s3、根据接口信息和代码模板批量生成回声测试程序;将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具freemaker分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置,所述指定位置为c盘、d盘、e盘。需要说明的是:freemarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(html网页,电子邮件,配置文件,源代码等)的通用工具。freemarker是一个java类库,是一款程序员。模板编写为freemarkertemplatelanguage(ftl)。它是简单的专用的语言,不是像php那样成熟的编程语言。要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,之后模板显示已经准备好的数据。

s4、运行回声测试程序检测项目内需要进行测试的接口是否可用。

本实施例2的批量自动生成回声测试的方法,可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。而且由于所有dubbo接口都实现了echoservice接口,可以对需要进行检验的接口做统一处理,批量使接口调用echoservice中的$echo(objectmessage)方法去检验dubbo服务可用性来减少重复操作。可以对dubbo服务可用状态进行批量检测,减少重复操作,省时省力,效率高。

实施例3,提供了一种批量自动生成回声测试的装置,本实施例的装置包括模板生成单元、检测单元和测试单元。

模板生成单元用于将回声测试需要的配置文件和测试代码进行配置,将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为echoservice接口并调用$echo(objectmessage)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置。

检测单元用于检测项目内需要进行回声测试的接口信息,检测单元从jar包中读取dubbo服务信息的静态方法,检测单元从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,提取其中需要测试的包下接口路径,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中。

测试单元用于根据接口信息和代码模板批量生成回声测试程序,测试单元将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具freemaker分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置,所述指定位置为c盘、d盘、e盘,并且测试单元运行回声测试程序检测项目内需要进行测试的接口是否可用。

本发明可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1