CN110287039A - 模拟接口配置方法、介质、装置和计算设备 - Google Patents
模拟接口配置方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN110287039A CN110287039A CN201910564230.3A CN201910564230A CN110287039A CN 110287039 A CN110287039 A CN 110287039A CN 201910564230 A CN201910564230 A CN 201910564230A CN 110287039 A CN110287039 A CN 110287039A
- Authority
- CN
- China
- Prior art keywords
- grouping
- parameter
- type
- output parameter
- regularity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明的实施方式提供了一种模拟接口配置方法、介质、装置和计算设备。该方法包括:接收模拟接口配置指令;根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。本发明实施例能够减少服务提供方存在的冗余信息,提高效率。
Description
技术领域
本发明的实施方式涉及远程过程调用技术领域,更具体地,本发明的实施方式涉及模拟接口配置方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
远程过程调用(RPC,Remote Procedure Call)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。消费服务的一方称为服务消费方,提供服务的一方称为服务提供方,服务提供方是通过接口提供服务的,该接口称为服务提供方接口。目前,注册中心的服务框架调用广泛存在于远程过程调用系统的服务请求方和服务提供方之间。目前常用的注册中心有ZK(ZooKeeper)。
服务消费方在对服务提供方接口进行测试时,需要在本地项目结构内编写针对各个服务提供方接口的测试代码;如果需要测试一个接口的不同业务内容,则需要重复编写不同的测试代码,以返回不同业务内容对应的数据。并且,由于服务提供方不稳定,某些接口只在特定环境下才能够返回测试数据,使得测试某些接口时需要构造大量用于模拟特定环境的模拟数据。这些现象导致服务消费方需要编写各种模拟数据和测试代码,这些模拟数据和测试代码中存在大量的冗余信息,并且不同模拟数据和测试代码的冗余信息无法复用,导致效率低下。
发明内容
本发明期望提供一种模拟接口配置方法和装置,以至少解决上述技术问题。
在本发明实施方式的第一方面中,提供了一种模拟接口配置方法,包括:
接收模拟接口配置指令;
根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;
为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
在本发明的一个实施例中,所述方法还包括:将所述各个所述分组的规则参数保存在规则参数数据库中。
在本发明的一个实施例中,所述分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。
在本发明的一个实施例中,所述分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为表达式语言EL、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
在本发明的一个实施例中,所述将所述各个所述分组的规则参数保存在规则参数数据库中之后,还包括:
接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
返回所述分组的输出参数。
在本发明实施方式的第二方面中,提供了一种模拟接口配置装置,包括:
配置指令接收模块,用于接收模拟接口配置指令;
配置模块,用于根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;并为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
在本发明的一个实施例中,所述装置还包括:
保存模块,用于将所述各个所述分组的规则参数保存在规则参数数据库中。
在本发明的一个实施例中,所述分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。
在本发明的一个实施例中,所述分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为表达式语言EL、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
在本发明的一个实施例中,所述装置还包括:
测试请求接收模块,用于接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
查找模块,用于根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
输出参数确定模块,用于根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
返回模块,用于返回所述分组的输出参数。
在本发明实施方式的第三方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行实现上述模拟接口配置方法的步骤。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现模拟接口配置方法的步骤。
根据本发明实施方式的模拟接口配置方法和装置,根据接收到的模拟接口配置指令为服务提供方接口配置模拟接口,并配置该模拟接口的至少一个分组、以及各个分组的规则参数。通过这种配置方式替代测试时编写模拟数据和测试代码,从而减少服务提供方存在的冗余信息,提高效率。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明一实施方式的模拟接口配置方法实现流程图;
图2示意性地示出了根据本发明一实施方式的模拟接口配置方法中,测试模拟接口的实现流程图;
图3示意性地示出了实现本发明一实施方式的模拟接口配置方法的PRC框架示意图;
图4示意性地示出了根据本发明一实施方式的模拟接口配置方法中,后台进行模拟配置的实现流程图;
图5示意性地示出了根据本发明一实施方式的模拟接口配置方法中,利用Mock接口实现测试的实现流程图;
图6示意性地示出了根据本发明一实施方式的介质结构示意图;
图7示意性地示出了根据本发明一实施方式的模拟接口配置装置结构示意图;
图8示意性地示出了根据本发明一实施方式的计算设备结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种模拟接口配置方法、介质、装置和计算设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有的RPC技术中,服务消费方在测试服务提供方接口时需要编写大量的模拟数据和测试代码,这些内容中存在大量的冗余信息,并且不同模拟数据和测试代码的冗余信息无法复用,导致效率低下。
有鉴于此,本发明提供一种模拟接口配置方法和装置,为服务提供方接口配置模拟接口,并配置该模拟接口的至少一个分组、以及各个分组的规则参数。通过这种配置方式替代测试时编写模拟数据和测试代码,从而减少服务提供方存在的冗余信息,提高效率。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面参考图1来描述根据本发明示例性实施方式的模拟接口配置方法。
图1示意性地示出了根据本发明一实施方式的模拟接口配置方法实现流程图,包括以下步骤:
S11:接收模拟接口配置指令;
S12:根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;
S13:为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
在注册中心的接口列表页中,展示当前注册到注册中心的所有接口信息,例如接口标识、接口说明、版本号、IP地址、注册时间、方法名等。同时,接口列表页中提供接口的模拟接口配置、模拟接口删除、模拟接口搜索等操作入口。用户通过这些操作入口输入模拟接口配置指令,例如,用户点击接口列表页中提供的用于模拟接口配置的按键,并输入模拟接口配置指令。
本发明实施例提出的模拟接口配置对现有的PRC框架无影响,对PRC框架中现有的业务无侵入。模拟接口提供的业务与现有业务完全独立,二者都可以快速接入远程调用。
通过上述过程,本发明实施例通过配置模拟接口来实现对服务提供方接口的测试,避免编写用于测试的各种模拟数据和测试代码,从而减少服务提供方存在的冗余信息。
如图1所示,在一种可能的实施方式中,上述方法还包括:
S14:将所述各个所述分组的规则参数保存在规则参数数据库中。
在一种可能的实施方式中,所述分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。其中:
分组的分组标识用于区分模拟接口的不同分组;
分组所属的模拟接口的描述信息,用于方便用户查看该模拟接口的详细信息;
分组的输入参数,表示服务消费方调用该模拟接口的分组时的输入参数;
分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为表达式语言(EL,Expression Language)、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
可见,在上述五种输出参数的类型中,根据动态表达式判断的类型的输出参数具体值与输入参数有关,需要采用输入参数进行计算;其余四种类型的输出参数具体值与输入参数无关。
服务消费方完成上述模拟接口配置之后,可以开始模拟接口的测试过程。图2示意性地示出了根据本发明一实施方式的模拟接口配置方法中,测试模拟接口的实现流程图,包括:
S21:接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
S22:根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
S23:根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
S24:返回所述分组的输出参数。
上述模拟接口可以称为Mock接口,在以下内容中,为描述方便,将模拟接口称为Mock接口。本发明实施例可以设置Mock服务提供方,用于执行图2所示的步骤。
图3示意性地示出了实现本发明一实施方式的模拟接口配置方法的PRC框架示意图。如图3所示,本发明实施例将Mock服务提供方增加到现有的PRC框架中。用户在服务消费方的应用程序中输入测试请求,该测试请求中包含Mock接口的分组的分组标识,服务消费方识别出该测试请求是针对Mock接口的测试请求,并将该测试请求发送至Mock服务提供方。Mock服务提供方从规则参数数据库中查找该分组的规则参数。根据该分组的规则参数,利用Mock请求中的输入参数确定输出参数类型,继而根据输出参数的类型确定输出参数;并将该分组的输出参数返回至服务消费方。对于现有技术中已有的服务请求,服务消费方将该服务请求转发至现有PRC框架的服务提供方,由服务提供方针对服务请求为服务消费方提供服务。
其中,对于不同的输出参数类型,Mock服务提供方确定输出参数的过程有所不同。具体包括以下方式:
第一种:当分组的输出参数的类型为预设值类型时,将该分组的输出参数确定为预先设置的值,并将该预先设置的值返回至服务提供方。可见,确定的输出参数的值与输入参数无关,此时输入参数只用来确定输出参数的类型。
例如,在为接口对应的Mock接口配置分组之后,对于输出参数的类型为预设值类型的分组,预先设置该输出参数的值。可以采用多个键值对的形式进行设置,并将键值对中的值设置为分组的输出参数的值。Mock服务提供方接收到针对该分组的测试请求时,查询预先设置的键值对中的值,将该值作为输出参数,并将输出参数返回至服务消费方。
第二种:当分组的输出参数的类型为随机类型时,根据输出参数的数据类型,随机生成满足该数据类型的值,并将该随机生成的值返回至服务提供方。其中,上述输出参数的数据类型为可以布尔(boolean)类型、数值(number)类型或字符串(string)类型等。
例如,在为接口对应的Mock接口配置分组之后,对于输出参数的类型为随机类型的分组,预先设置该分组的输出参数的数据类型。可以采用多个键值对的形式进行设置,并将键值对中的值设置为输出参数的数据类型。Mock服务提供方接收到针对该分组的测试请求时,查询预先设置的键值对中的值,从而确定出输出参数的数据类型。之后,Mock服务提供方随机生成满足该数据类型的值,将该值作为输出参数,并将输出参数返回至服务消费方。
第三种:当分组的输出参数的类型为根据动态表达式判断的类型时,获取测试请求中的输入参数,根据预先编写的动态表达式对输入参数进行计算,得到该分组的输出参数,并返回至服务提供方。其中,动态表达式的编写语言可以为表达式语言(EL,ExpressionLanguage)、Groovp语言或JavaScript语言等。
例如,接口的输入参数包括多个键值对,在为接口对应的Mock接口配置分组之后,对于输出参数的类型为根据动态表达式判断的类型的分组,预先编写用于计算输出参数的动态表达式。Mock服务提供方接收到针对该分组的测试请求时,获取预先编写的动态表达式;提取测试请求中的输入参数,采用动态表达式对该输入参数进行计算,将计算得到的结果作为输出参数,并将输出参数返回至服务消费方。
可见,这种方式与前两种方式的不同点在于:前两种方式输出参数的值与输入参数无关,第三种方式输出参数的值与输入参数相关。
第四种:当分组的输出参数的类型为根据请求百分比判断的类型时,根据预先设置的请求百分比与输出值的对应关系确定输出参数。
例如,在为接口对应的Mock接口配置分组之后,对于输出参数的类型为根据请求百分比判断的类型,预先设定将针对该分组所属Mock接口的30%的测试请求的输出参数设置为表示调用成功的结果,将针对该分组所属Mock接口的70%的测试请求的输出参数设置为表示调用失败的结果。
Mock服务提供方接收到针对该分组的测试请求时,计算一个[0,1]区间范围内的随机数。当随机数的结果在[0,0.3)区间范围内时,将表示调用成功的结果作为输出参数,并将该输出参数返回值服务消费方。当随机数的结果在(0.3,1]区间范围内时,将表示调用失败的结果作为输出参数,并将该输出参数返回值服务消费方。采用这种方式,对于系统内所有服务消费方针对分组所属Mock接口的测试请求,实现了按照请求百分比返回不同的输出值。
第五种:当分组的输出参数的类型为原逻辑调用类型时,将收到的测试请求转发至现有PRC框架中的服务提供方,由现有的服务提供方为服务请求方返回输出参数。
图4示意性地示出了根据本发明一实施方式的模拟接口配置方法中,后台进行模拟配置的实现流程图,包括:
S41:启动模拟配置服务。
S42:从注册中心拉取已经注册的接口列表页。
S43:用户选择需要模拟的服务,输入注册服务信息。
具体地,用户可以从接口列表页中选择需要进行模拟接口配置的接口,输入针对该接口的接口配置指令。
S44:根据注册服务信息,注册一个相同的服务,该服务的标识为dubbo_group。
具体地,根据接口配置指令,配置该接口对应的Mock接口,并为该Mock接口设置分组,将该分组的分组标识设置为dubbo_group。
S45:根据用户的选择配置模拟规则。
具体地,可以根据用户输入的接口配置指令,设置该分组的规则参数,并将该分组的规则参数保存在规则参数数据库(DB)中。
图5示意性地示出了根据本发明一实施方式的模拟接口配置方法中,利用Mock接口实现测试的实现流程图,包括:
S51:启动应用测试。
S52:收到针对Mock接口的分组的测试请求,根据该测试请求中的分组标识dubbo_group,识别出测试请求。该测试请求来自服务消费方。
S53:将测试请求调用到Mock服务提供方。
S54:Mock服务提供方从规则参数数据库中获取该分组的规则参数,根据测试请求中的输入参数及该规则参数确定输出参数。
S55:Mock服务提供方将输出参数返回至服务消费方。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图6对本发明示例性实施方式的介质进行说明。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机可读介质,其上存储有程序,当所述程序被处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的模拟接口配置方法中的步骤。
具体地,上述处理器执行上述程序时用于实现如下步骤:
接收模拟接口配置指令;
根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;
为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图6所示,描述了根据本发明的实施方式的介质60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序,并可以在设备上运行。然而,本发明不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,上述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算设备。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图7对本发明示例性实施方式的装置进行说明。
如图7所示,本发明实施例的模拟接口配置装置可以包括:
配置指令接收模块710,用于接收模拟接口配置指令;
配置模块720,用于根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;并为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
在一种可能的实施方式中,上述装置还包括:
保存模块730,用于将所述各个所述分组的规则参数保存在规则参数数据库中。
在一种可能的实施方式中,分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。
在一种可能的实施方式中,分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为EL、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
在一种可能的实施方式中,还包括:
测试请求接收模块740,用于接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
查找模块750,用于根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
输出参数确定模块760,用于根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
返回模块770,用于返回所述分组的输出参数。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图8对本发明示例性实施方式的计算设备进行说明。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理单元以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明的各种示例性实施方式的模拟接口配置方法中的步骤。
下面参照图8来描述根据本发明的这种实施方式的计算设备80。图8显示的计算设备80仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算设备80以通用计算设备的形式表现。计算设备80的组件可以包括但不限于:上述至少一个处理单元801、上述至少一个存储单元802,连接不同系统组件(包括处理单元801和存储单元802)的总线803。
总线803包括数据总线、控制总线和地址总线。
存储单元802可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)8021和/或高速缓存存储器8022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)8023。
存储单元802还可以包括具有一组(至少一个)程序模块8024的程序/实用工具8025,这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备80也可以与一个或多个外部设备804(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口805进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器806通过总线803与计算设备80的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了模拟接口配置装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种模拟接口配置方法,其特征在于,包括:
接收模拟接口配置指令;
根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;
为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
2.根据权利要求1所述的方法,其特征在于,还包括:将所述各个所述分组的规则参数保存在规则参数数据库中。
3.根据权利要求1所述的方法,其特征在于,所述分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。
4.根据权利要求3所述的方法,其特征在于,所述分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为表达式语言EL、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述各个所述分组的规则参数保存在规则参数数据库中之后,还包括:
接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
返回所述分组的输出参数。
6.一种模拟接口配置装置,其特征在于,包括:
配置指令接收模块,用于接收模拟接口配置指令;
配置模块,用于根据所述模拟接口配置指令,配置服务提供方接口所对应的模拟接口;并为所述模拟接口配置至少一个分组,并配置各个所述分组的规则参数。
7.根据权利要求6所述的装置,其特征在于,还包括:
保存模块,用于将所述各个所述分组的规则参数保存在规则参数数据库中。
8.根据权利要求6所述的装置,其特征在于,所述分组的规则参数包括:
所述分组的分组标识、所述分组所属的模拟接口的描述信息、所述分组的输入参数及所述分组的输出参数的类型。
9.根据权利要求8所述的装置,其特征在于,所述分组的输出参数的类型为:预设值类型、随机类型、根据动态表达式判断的类型、根据请求百分比判断的类型或原逻辑调用类型;其中,
所述预设值类型,表示所述分组的输出参数为预先设置的值;
所述随机类型,表示所述分组的输出参数为符合输出参数的数据类型的随机生成的值;所述输出参数的数据类型为布尔类型、数值类型或字符串类型;
所述根据动态表达式判断的类型,表示所述分组的输出参数为根据预先编写的动态表达式对所述输入参数进行计算得到的值;所述动态表达式的编写语言为表达式语言EL、Groovp语言或JavaScript语言;
所述根据请求百分比判断的类型,表示所述分组的输出参数为根据预先设置的请求百分比与输出值的对应关系确定的值;
所述原逻辑调用类型,表示所述分组的输出参数为所述服务提供方接口所输出的值。
10.根据权利要求8或9所述的装置,其特征在于,还包括:
测试请求接收模块,用于接收针对所述分组的测试请求,所述测试请求中包含所述分组的分组标识及所述分组的输入参数;
查找模块,用于根据所述分组的分组标识,从所述规则参数数据库中查找所述分组的规则参数;
输出参数确定模块,用于根据所述分组的规则参数,从所述测试请求中解析所述分组的输入参数,利用所述分组的输入参数确定所述分组的输出参数的类型;根据所述输出参数的类型,确定所述分组的输出参数;
返回模块,用于返回所述分组的输出参数。
11.一种介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
12.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564230.3A CN110287039A (zh) | 2019-06-26 | 2019-06-26 | 模拟接口配置方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910564230.3A CN110287039A (zh) | 2019-06-26 | 2019-06-26 | 模拟接口配置方法、介质、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287039A true CN110287039A (zh) | 2019-09-27 |
Family
ID=68007631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910564230.3A Pending CN110287039A (zh) | 2019-06-26 | 2019-06-26 | 模拟接口配置方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287039A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027853A1 (en) * | 2003-07-28 | 2005-02-03 | Martin Terry M. | System and method for collecting data regarding network service operation |
CN102855178A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试中生成Mock库的方法和装置 |
CN107294808A (zh) * | 2017-07-05 | 2017-10-24 | 网易(杭州)网络有限公司 | 接口测试的方法、装置和系统 |
CN107577590A (zh) * | 2016-07-04 | 2018-01-12 | 北京奇虎科技有限公司 | 基于数据库服务实时调用虚拟接口的方法及装置 |
CN107733866A (zh) * | 2017-09-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | Rpc请求、rpc请求处理方法、装置以及设备 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
-
2019
- 2019-06-26 CN CN201910564230.3A patent/CN110287039A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027853A1 (en) * | 2003-07-28 | 2005-02-03 | Martin Terry M. | System and method for collecting data regarding network service operation |
CN102855178A (zh) * | 2011-06-30 | 2013-01-02 | 阿里巴巴集团控股有限公司 | 一种单元测试中生成Mock库的方法和装置 |
CN107577590A (zh) * | 2016-07-04 | 2018-01-12 | 北京奇虎科技有限公司 | 基于数据库服务实时调用虚拟接口的方法及装置 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN107294808A (zh) * | 2017-07-05 | 2017-10-24 | 网易(杭州)网络有限公司 | 接口测试的方法、装置和系统 |
CN107733866A (zh) * | 2017-09-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | Rpc请求、rpc请求处理方法、装置以及设备 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117363B (zh) | 一种测试用例生成方法、装置及服务器 | |
US10248537B2 (en) | Translation bug prediction classifier | |
WO2019169723A1 (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN109905293A (zh) | 一种终端设备识别方法、系统及存储介质 | |
US11681510B2 (en) | Reducing semantic errors in code generated by machine learning models | |
US11960517B2 (en) | Dynamic cross-platform ask interface and natural language processing model | |
CN108319575A (zh) | 一种页面组件的校验方法、装置、服务器和存储介质 | |
CN109710951A (zh) | 基于翻译历史的辅助翻译方法、装置、设备及存储介质 | |
CN110399306A (zh) | 软件模块自动化测试方法及装置 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN109614312A (zh) | 测试用例生成方法、装置、电子设备及存储介质 | |
CN112363938A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US10996973B2 (en) | Executing commands in a virtual environment | |
CN110287039A (zh) | 模拟接口配置方法、介质、装置和计算设备 | |
JP2022031854A (ja) | 返信内容の生成方法、装置、機器及び記憶媒体 | |
US11205092B2 (en) | Clustering simulation failures for triage and debugging | |
CN111984623A (zh) | 数据库集群自动化部署方法、装置、介质和电子设备 | |
US20200118546A1 (en) | Voice controlled keyword generation for automated test framework | |
CN109346080A (zh) | 语音控制方法、装置、设备和存储介质 | |
US20220391529A1 (en) | Searching, matching, and masking of composite formats | |
US11609841B2 (en) | Systems and methods for testing models | |
US11971810B2 (en) | Systems and methods for testing models | |
CN109446070A (zh) | 联网软件升级测试方法、装置、电子设备和存储介质 | |
US20220366147A1 (en) | Authoring a conversation service module from relational data | |
CN108959508A (zh) | Sql数据生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191107 Address after: 310012 G building, 10 floor, A building, Paradise Software Park, 3 West Road, Hangzhou, Xihu District, Zhejiang Applicant after: Alibaba (China) Co.,Ltd. Address before: Hangzhou City, Zhejiang province 310051 Binjiang District River Street No. 1786 Jianghan Road Longsheng Building Room 803 Applicant before: NETEASE KOALA (HANGZHOU) TECH CO.,LTD. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |