一种远程mock测试方法及装置的制造方法

文档序号:8922510阅读:359来源:国知局
一种远程mock测试方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件测试技术领域,具体涉及一种远程mock测试方法及装置。
【背景技术】
[0002]mock测试方法就是在软件测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
[0003]现有mock测试方法通常用于单机执行的单元测试或者功能测试中。而接口测试则是通过远程调用接口的方式进行测试,通常是发送http请求来实现。
[0004]因此,现有mock测试方法在接口测试情况下,无法通过虚拟对象来构造各种数据和业务场景,导致现有mock测试方法无法远程mock对象的问题。

【发明内容】

[0005]本发明所要解决的技术问题是现有mock测试方法在接口测试情况下,无法通过虚拟对象来构造各种数据和业务场景,导致现有mock测试方法无法远程mock对象的问题。
[0006]为此目的,第一方面,本发明提出一种远程mock测试方法,包括:
[0007]部署在本地服务器上的测试程序根据预设的测试内容,创建用于mock对象的程序文件;
[0008]所述测试程序调用部署在所述本地服务器的虚拟机上的远程服务程序,以使所述远程服务程序加载所述用于mock对象的程序文件;
[0009]所述测试程序接收所述远程服务程序返回的加载结果;
[0010]所述测试程序判断所述加载结果是否满足预期加载结果,以实现远程mock测试。
[0011]可选的,所述部署在本地服务器上的测试程序根据预设的测试内容,创建用于mock对象的程序文件,包括:
[0012]部署在本地服务器上的测试程序根据预设的测试内容,通过所述本地服务器的文件系统,在所述本地服务器的虚拟机的文件访问路径上或在指定路径上,创建用于mock对象的程序文件,其中,所述指定路径为所述远程服务程序加载程序的路径。
[0013]可选的,所述测试程序判断所述加载结果是否满足预期加载结果,以实现远程mock测试,包括:
[0014]若满足预期加载结果,则提示测试成功;
[0015]若不满足预期加载结果,则提示测试失败。
[0016]可选的,在提示测试成功的步骤之后,所述方法还包括:
[0017]所述测试程序删除所述用于mock对象的程序文件。
[0018]可选的,所述测试程序调用部署在所述本地服务器的虚拟机上的远程服务程序,包括:
[0019]所述测试程序通过http请求调用部署在所述本地服务器的虚拟机上的远程服务程序。
[0020]第二方面,本发明还提出一种远程mock测试装置,所述装置部署在本地服务器中,所述装置包括:
[0021]创建单元,用于根据预设的测试内容,创建用于mock对象的程序文件;
[0022]调用单元,用于调用部署在所述本地服务器的虚拟机上的远程服务程序,以使所述远程服务程序加载所述用于mock对象的程序文件;
[0023]接收单元,用于接收所述远程服务程序返回的加载结果;
[0024]判断单元,用于判断所述接收单元接收到的加载结果是否满足预期加载结果。
[0025]可选的,所述创建单元,具体用于:
[0026]根据预设的测试内容,通过所述本地服务器的文件系统,在所述本地服务器的虚拟机的文件访问路径上或在指定路径上,创建用于mock对象的程序文件,其中,所述指定路径为所述远程服务程序加载程序的路径。
[0027]可选的,所述装置还包括:提示单元,用于在所述判断单元判定加载结果满足预期加载结果时,提示测试成功;
[0028]所述提示单元,还用于在所述判断单元判定加载结果不满足预期加载结果时,提示测试失败。
[0029]可选的,所述装置还包括:删除单元,用于:
[0030]在所述提示单元提示测试成功之后,删除所述用于mock对象的程序文件。
[0031]可选的,所述调用单元,具体用于:
[0032]通过http请求调用部署在所述本地服务器的虚拟机上的远程服务程序。
[0033]相比于现有技术,本发明的远程mock测试方法及装置,将测试程序直接部署在本地服务器上,远程服务程序部署在本地服务器的虚拟机上,实现了远程环境的隔离,虚拟机不会和测试程序所在环境相互影响,而且虚拟机作为远程接口的调用完全可以模拟真实的生产环境,保持测试的仿真性,解决了现有mock测试方法在接口测试情况下,无法像在单元测试情况下通过虚拟对象来构造各种数据和业务场景,导致现有mock测试方法无法远程mock对象的问题,即很难覆盖到所有的代码逻辑的问题。
【附图说明】
[0034]图1为本公开实施例提供的一种远程mock测试方法流程图;
[0035]图2为本公开实施例提供的一种测试程序判断加载结果是否满足预期加载结果,以实现远程mock测试的流程图;
[0036]图3为本公开实施例提供的一种远程mock测试系统结构图。
【具体实施方式】
[0037]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0038]如图1所示,本实施例公开一种远程mock测试方法,该方法可包括以下步骤101至 104:
[0039]101、部署在本地服务器上的测试程序根据预设的测试内容,创建用于mock对象的程序文件;
[0040]102、测试程序调用部署在本地服务器的虚拟机上的远程服务程序,以使远程服务程序加载用于mock对象的程序文件;
[0041]103、测试程序接收远程服务程序返回的加载结果;
[0042]104、测试程序判断加载结果是否满足预期加载结果,以实现远程mock测试。
[0043]上述实施例中的远程mock测试方法,将测试程序直接部署在本地服务器上,远程服务程序部署在本地服务器的虚拟机上,虚拟机实现了远程环境的隔离,不会和测试程序所在环境相互影响,而且作为远程接口的调用完全可以模拟真实的生产环境,保持测试的仿真性,解决了现有mock测试方法在接口测试情况下,无法像在单元测试情况下通过虚拟对象来构造各种数据和业务场景,导致现有mock测试方法无法远程mock对象的问题,即很难覆盖到所有的代码逻辑的问题。
[0044]在一个具体的例子中,步骤101,包括:
[0045]部署在本地服务器上的测试程序根据预设的测试内容,通过本地服务器的文件系统,在本地服务器的虚拟机的文件访问路径上或在指定路径上,创建用于mock对象的程序文件,其中,指定路径为远程服务程序加载程序的路径。
[0046]上述实施例中的远程mock测试方法,由于虚拟机部署在测试程序所在的本地服务器,测试程序与远程服务程序可以通过文件系统实现交互,测试程序执行时可以动态创建所需要的mock程序给远程服务程序加载调用,提高了测试程序的灵活性。
[0047]在一个具体的例子中,如图2所示,步骤104中包括以下步骤1041至1043:
[0048]1041、测试程序判断加载结果是否满足预期加载结果,若满足预期加载结果,则执行步骤1042 ;若不满足预期加载结果,则执行步骤1043 ;
[0049]1042、提示测试成功;
[0050]1043、提示测试失败。
[0051]在一个具体的例子中,在步骤1042之后,上述远程mock测试方法还可包括图2中未示出的步骤105:
[0052]105、测试程序删除用于mock对象的程序文件。
[0053]上述实施例中的远程mock测试方法,将用于mock对象的程序文件删除就不会影响接口服务的其他调用结果。测试中对于测试程序而言,mock的动作和单元测试相同,不需要关心接口服务如何调用。接口服务也不需要了解测试程序的执行情况,只要按照mock文件的逻辑执行就可以。
[0054]在一个具体的例子中,步骤102,包括:
[0055]测试程序通过http请求调用部署在本地服务器的虚拟机上的远程
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1