一種遠(yuǎn)程mock測(cè)試方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試技術(shù)領(lǐng)域,具體涉及一種遠(yuǎn)程mock測(cè)試方法及裝置。
【背景技術(shù)】
[0002]mock測(cè)試方法就是在軟件測(cè)試過(guò)程中,對(duì)于某些不容易構(gòu)造或者不容易獲取的對(duì)象,用一個(gè)虛擬的對(duì)象來(lái)創(chuàng)建以便測(cè)試的測(cè)試方法。
[0003]現(xiàn)有mock測(cè)試方法通常用于單機(jī)執(zhí)行的單元測(cè)試或者功能測(cè)試中。而接口測(cè)試則是通過(guò)遠(yuǎn)程調(diào)用接口的方式進(jìn)行測(cè)試,通常是發(fā)送http請(qǐng)求來(lái)實(shí)現(xiàn)。
[0004]因此,現(xiàn)有mock測(cè)試方法在接口測(cè)試情況下,無(wú)法通過(guò)虛擬對(duì)象來(lái)構(gòu)造各種數(shù)據(jù)和業(yè)務(wù)場(chǎng)景,導(dǎo)致現(xiàn)有mock測(cè)試方法無(wú)法遠(yuǎn)程mock對(duì)象的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是現(xiàn)有mock測(cè)試方法在接口測(cè)試情況下,無(wú)法通過(guò)虛擬對(duì)象來(lái)構(gòu)造各種數(shù)據(jù)和業(yè)務(wù)場(chǎng)景,導(dǎo)致現(xiàn)有mock測(cè)試方法無(wú)法遠(yuǎn)程mock對(duì)象的問(wèn)題。
[0006]為此目的,第一方面,本發(fā)明提出一種遠(yuǎn)程mock測(cè)試方法,包括:
[0007]部署在本地服務(wù)器上的測(cè)試程序根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,創(chuàng)建用于mock對(duì)象的程序文件;
[0008]所述測(cè)試程序調(diào)用部署在所述本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序,以使所述遠(yuǎn)程服務(wù)程序加載所述用于mock對(duì)象的程序文件;
[0009]所述測(cè)試程序接收所述遠(yuǎn)程服務(wù)程序返回的加載結(jié)果;
[0010]所述測(cè)試程序判斷所述加載結(jié)果是否滿足預(yù)期加載結(jié)果,以實(shí)現(xiàn)遠(yuǎn)程mock測(cè)試。
[0011]可選的,所述部署在本地服務(wù)器上的測(cè)試程序根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,創(chuàng)建用于mock對(duì)象的程序文件,包括:
[0012]部署在本地服務(wù)器上的測(cè)試程序根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,通過(guò)所述本地服務(wù)器的文件系統(tǒng),在所述本地服務(wù)器的虛擬機(jī)的文件訪問(wèn)路徑上或在指定路徑上,創(chuàng)建用于mock對(duì)象的程序文件,其中,所述指定路徑為所述遠(yuǎn)程服務(wù)程序加載程序的路徑。
[0013]可選的,所述測(cè)試程序判斷所述加載結(jié)果是否滿足預(yù)期加載結(jié)果,以實(shí)現(xiàn)遠(yuǎn)程mock測(cè)試,包括:
[0014]若滿足預(yù)期加載結(jié)果,則提示測(cè)試成功;
[0015]若不滿足預(yù)期加載結(jié)果,則提示測(cè)試失敗。
[0016]可選的,在提示測(cè)試成功的步驟之后,所述方法還包括:
[0017]所述測(cè)試程序刪除所述用于mock對(duì)象的程序文件。
[0018]可選的,所述測(cè)試程序調(diào)用部署在所述本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序,包括:
[0019]所述測(cè)試程序通過(guò)http請(qǐng)求調(diào)用部署在所述本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序。
[0020]第二方面,本發(fā)明還提出一種遠(yuǎn)程mock測(cè)試裝置,所述裝置部署在本地服務(wù)器中,所述裝置包括:
[0021]創(chuàng)建單元,用于根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,創(chuàng)建用于mock對(duì)象的程序文件;
[0022]調(diào)用單元,用于調(diào)用部署在所述本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序,以使所述遠(yuǎn)程服務(wù)程序加載所述用于mock對(duì)象的程序文件;
[0023]接收單元,用于接收所述遠(yuǎn)程服務(wù)程序返回的加載結(jié)果;
[0024]判斷單元,用于判斷所述接收單元接收到的加載結(jié)果是否滿足預(yù)期加載結(jié)果。
[0025]可選的,所述創(chuàng)建單元,具體用于:
[0026]根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,通過(guò)所述本地服務(wù)器的文件系統(tǒng),在所述本地服務(wù)器的虛擬機(jī)的文件訪問(wèn)路徑上或在指定路徑上,創(chuàng)建用于mock對(duì)象的程序文件,其中,所述指定路徑為所述遠(yuǎn)程服務(wù)程序加載程序的路徑。
[0027]可選的,所述裝置還包括:提示單元,用于在所述判斷單元判定加載結(jié)果滿足預(yù)期加載結(jié)果時(shí),提示測(cè)試成功;
[0028]所述提示單元,還用于在所述判斷單元判定加載結(jié)果不滿足預(yù)期加載結(jié)果時(shí),提示測(cè)試失敗。
[0029]可選的,所述裝置還包括:刪除單元,用于:
[0030]在所述提示單元提示測(cè)試成功之后,刪除所述用于mock對(duì)象的程序文件。
[0031]可選的,所述調(diào)用單元,具體用于:
[0032]通過(guò)http請(qǐng)求調(diào)用部署在所述本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序。
[0033]相比于現(xiàn)有技術(shù),本發(fā)明的遠(yuǎn)程mock測(cè)試方法及裝置,將測(cè)試程序直接部署在本地服務(wù)器上,遠(yuǎn)程服務(wù)程序部署在本地服務(wù)器的虛擬機(jī)上,實(shí)現(xiàn)了遠(yuǎn)程環(huán)境的隔離,虛擬機(jī)不會(huì)和測(cè)試程序所在環(huán)境相互影響,而且虛擬機(jī)作為遠(yuǎn)程接口的調(diào)用完全可以模擬真實(shí)的生產(chǎn)環(huán)境,保持測(cè)試的仿真性,解決了現(xiàn)有mock測(cè)試方法在接口測(cè)試情況下,無(wú)法像在單元測(cè)試情況下通過(guò)虛擬對(duì)象來(lái)構(gòu)造各種數(shù)據(jù)和業(yè)務(wù)場(chǎng)景,導(dǎo)致現(xiàn)有mock測(cè)試方法無(wú)法遠(yuǎn)程mock對(duì)象的問(wèn)題,即很難覆蓋到所有的代碼邏輯的問(wèn)題。
【附圖說(shuō)明】
[0034]圖1為本公開實(shí)施例提供的一種遠(yuǎn)程mock測(cè)試方法流程圖;
[0035]圖2為本公開實(shí)施例提供的一種測(cè)試程序判斷加載結(jié)果是否滿足預(yù)期加載結(jié)果,以實(shí)現(xiàn)遠(yuǎn)程mock測(cè)試的流程圖;
[0036]圖3為本公開實(shí)施例提供的一種遠(yuǎn)程mock測(cè)試系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0037]為使本公開實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本公開實(shí)施例中的附圖,對(duì)本公開實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本公開一部分實(shí)施例,而不是全部的實(shí)施例?;诒竟_中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本公開保護(hù)的范圍。
[0038]如圖1所示,本實(shí)施例公開一種遠(yuǎn)程mock測(cè)試方法,該方法可包括以下步驟101至 104:
[0039]101、部署在本地服務(wù)器上的測(cè)試程序根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,創(chuàng)建用于mock對(duì)象的程序文件;
[0040]102、測(cè)試程序調(diào)用部署在本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程服務(wù)程序,以使遠(yuǎn)程服務(wù)程序加載用于mock對(duì)象的程序文件;
[0041]103、測(cè)試程序接收遠(yuǎn)程服務(wù)程序返回的加載結(jié)果;
[0042]104、測(cè)試程序判斷加載結(jié)果是否滿足預(yù)期加載結(jié)果,以實(shí)現(xiàn)遠(yuǎn)程mock測(cè)試。
[0043]上述實(shí)施例中的遠(yuǎn)程mock測(cè)試方法,將測(cè)試程序直接部署在本地服務(wù)器上,遠(yuǎn)程服務(wù)程序部署在本地服務(wù)器的虛擬機(jī)上,虛擬機(jī)實(shí)現(xiàn)了遠(yuǎn)程環(huán)境的隔離,不會(huì)和測(cè)試程序所在環(huán)境相互影響,而且作為遠(yuǎn)程接口的調(diào)用完全可以模擬真實(shí)的生產(chǎn)環(huán)境,保持測(cè)試的仿真性,解決了現(xiàn)有mock測(cè)試方法在接口測(cè)試情況下,無(wú)法像在單元測(cè)試情況下通過(guò)虛擬對(duì)象來(lái)構(gòu)造各種數(shù)據(jù)和業(yè)務(wù)場(chǎng)景,導(dǎo)致現(xiàn)有mock測(cè)試方法無(wú)法遠(yuǎn)程mock對(duì)象的問(wèn)題,即很難覆蓋到所有的代碼邏輯的問(wèn)題。
[0044]在一個(gè)具體的例子中,步驟101,包括:
[0045]部署在本地服務(wù)器上的測(cè)試程序根據(jù)預(yù)設(shè)的測(cè)試內(nèi)容,通過(guò)本地服務(wù)器的文件系統(tǒng),在本地服務(wù)器的虛擬機(jī)的文件訪問(wèn)路徑上或在指定路徑上,創(chuàng)建用于mock對(duì)象的程序文件,其中,指定路徑為遠(yuǎn)程服務(wù)程序加載程序的路徑。
[0046]上述實(shí)施例中的遠(yuǎn)程mock測(cè)試方法,由于虛擬機(jī)部署在測(cè)試程序所在的本地服務(wù)器,測(cè)試程序與遠(yuǎn)程服務(wù)程序可以通過(guò)文件系統(tǒng)實(shí)現(xiàn)交互,測(cè)試程序執(zhí)行時(shí)可以動(dòng)態(tài)創(chuàng)建所需要的mock程序給遠(yuǎn)程服務(wù)程序加載調(diào)用,提高了測(cè)試程序的靈活性。
[0047]在一個(gè)具體的例子中,如圖2所示,步驟104中包括以下步驟1041至1043:
[0048]1041、測(cè)試程序判斷加載結(jié)果是否滿足預(yù)期加載結(jié)果,若滿足預(yù)期加載結(jié)果,則執(zhí)行步驟1042 ;若不滿足預(yù)期加載結(jié)果,則執(zhí)行步驟1043 ;
[0049]1042、提示測(cè)試成功;
[0050]1043、提示測(cè)試失敗。
[0051]在一個(gè)具體的例子中,在步驟1042之后,上述遠(yuǎn)程mock測(cè)試方法還可包括圖2中未示出的步驟105:
[0052]105、測(cè)試程序刪除用于mock對(duì)象的程序文件。
[0053]上述實(shí)施例中的遠(yuǎn)程mock測(cè)試方法,將用于mock對(duì)象的程序文件刪除就不會(huì)影響接口服務(wù)的其他調(diào)用結(jié)果。測(cè)試中對(duì)于測(cè)試程序而言,mock的動(dòng)作和單元測(cè)試相同,不需要關(guān)心接口服務(wù)如何調(diào)用。接口服務(wù)也不需要了解測(cè)試程序的執(zhí)行情況,只要按照mock文件的邏輯執(zhí)行就可以。
[0054]在一個(gè)具體的例子中,步驟102,包括:
[0055]測(cè)試程序通過(guò)http請(qǐng)求調(diào)用部署在本地服務(wù)器的虛擬機(jī)上的遠(yuǎn)程