本發(fā)明涉及軟件測試,尤其涉及一種測試接口的測試用例生成方法及系統(tǒng)。
背景技術:
1、n-api框架代碼生成工具(即n-api工具)是一種可以根據(jù)用戶指定路徑下的ts(typescript,一種計算機編程語言)接口文件一鍵生成n-api框架代碼、業(yè)務框架代碼以及gn文件(一種構建系統(tǒng)的配置文件)等的工具。在開發(fā)js應用與n-api之間的接口時,利用這個n-api工具,可以使底層框架開發(fā)者無需關注nodejs語法、c++與js應用之間的數(shù)據(jù)類型轉換等上層應用轉換邏輯,只需要關注底層業(yè)務邏輯即可,從而可以大大提高軟件開發(fā)效率。
2、目前,在n-api工具根據(jù)接口定義文件生成接口實現(xiàn)文件后,需要開發(fā)者單獨寫應用代碼,以及調用工具定義生成的代碼,從而利用單獨寫的代碼來測試工具生成代碼的業(yè)務功能是否與預期一致;一般負責接口實現(xiàn)的開發(fā)人員專業(yè)技能集中在系統(tǒng)層,應用層的技能較欠缺,導致單獨寫的應用代碼無法很好地測試n-api工具生成的代碼的業(yè)務功能;而且,在n-api工具處理的接口數(shù)量較多時,靠人工手動編寫測試用例的工作量巨大,導致接口實現(xiàn)文件的測試效率低下。
技術實現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種測試接口的測試用例生成方法及系統(tǒng),旨在解決現(xiàn)有技術中手動編寫測試用例的方式無法準確地測試n-api工具生成的代碼業(yè)務功能的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供一種測試接口的測試用例生成方法,所述測試接口的測試用例生成方法包括如下步驟:
3、解析用戶接口文件和接口信息;
4、根據(jù)解析得到的文件信息、接口參數(shù)以及返回值信息,生成應用所需的模塊代碼和接口調用的應用代碼;
5、根據(jù)所述模塊代碼和所述接口調用的應用代碼,生成用于接口測試的測試用例。
6、可選的,所述解析用戶接口文件和接口信息,具體包括:
7、解析所述用戶接口文件,獲取對應的模塊信息;
8、解析所述用戶接口文件中的接口信息;
9、獲取所述用戶接口文件中的參數(shù)個數(shù)、參數(shù)類型以及返回值類型信息。
10、可選的,所述解析所述用戶接口文件,獲取對應的模塊信息,具體包括:
11、創(chuàng)建插件配置文件,并創(chuàng)建包含n-api插件代碼的文件;
12、根據(jù)所述插件配置文件和所述包含n-api插件代碼的文件編譯得到解析插件;
13、運行所述解析插件,并基于所述解析插件解析所述用戶接口文件,獲取對應的模塊信息。
14、可選的,所述根據(jù)解析得到的文件信息、接口參數(shù)以及返回值信息,生成應用所需的模塊代碼和接口調用的應用代碼,具體包括:
15、定義應用接口調用文件模板和接口調用模板;
16、根據(jù)所述用戶接口文件對應的模塊信息,生成所述用戶接口文件中導入模塊的代碼,得到所述應用所需的模塊代碼;
17、根據(jù)所述接口參數(shù)以及所述返回值信息,生成所述接口調用的應用代碼。
18、可選的,所述根據(jù)所述用戶接口文件對應的模塊信息,生成所述用戶接口文件中導入模塊的代碼,具體包括:
19、根據(jù)所述應用接口調用文件模板以及所述模塊信息,基于編譯配置文件編譯得到所述用戶接口文件對應的模塊;
20、導入所述用戶接口文件對應的模塊,并對所述用戶接口文件對應的模塊進行測試,基于測試結果獲取得到所述用戶接口文件中導入模塊的代碼。
21、可選的,所述根據(jù)所述接口參數(shù)以及所述返回值信息,生成所述接口調用的應用代碼,具體包括:
22、定義接收所述參數(shù)的接口函數(shù),并通過所述接口函數(shù)對所述參數(shù)進行參數(shù)檢查,以確保所述參數(shù)為數(shù)字;
23、根據(jù)所述參數(shù)、所述返回值以及所述接口函數(shù),生成所述接口調用的應用代碼。
24、可選的,所述根據(jù)所述模塊代碼和所述接口調用的應用代碼,生成用于接口測試的測試用例,具體包括:
25、配置測試框架和斷言庫;
26、在測試項目目錄中,創(chuàng)建一個測試文件,并根據(jù)所述模塊代碼和所述接口調用的應用代碼生成用于驗證接口函數(shù)的測試用例;
27、基于所述測試用例對所述測試接口進行測試,并顯示對應的測試結果。
28、此外,為實現(xiàn)上述目的,本發(fā)明還提供一種測試接口的測試用例生成系統(tǒng),其中,所述測試接口的測試用例生成系統(tǒng)包括:
29、解析模塊,用于解析用戶接口文件和接口信息;
30、代碼生成模塊,用于根據(jù)解析得到的文件信息、接口參數(shù)以及返回值信息,生成應用所需的模塊代碼和接口調用的應用代碼;
31、測試用例生成模塊,用于根據(jù)所述模塊代碼和所述接口調用的應用代碼,生成用于接口測試的測試用例。
32、此外,為實現(xiàn)上述目的,本發(fā)明還提供一種終端,其中,所述終端包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的測試接口的測試用例生成程序,所述測試接口的測試用例生成程序被所述處理器執(zhí)行時實現(xiàn)如上所述的測試接口的測試用例生成方法的步驟。
33、此外,為實現(xiàn)上述目的,本發(fā)明還提供一種計算機可讀存儲介質,其中,所述計算機可讀存儲介質存儲有測試接口的測試用例生成程序,所述測試接口的測試用例生成程序被處理器執(zhí)行時實現(xiàn)如上所述的測試接口的測試用例生成方法的步驟。
34、本發(fā)明中,通過解析用戶接口文件和接口信息,可根據(jù)解析得到的文件信息、接口參數(shù)以及返回值信息,生成應用所需的模塊代碼和接口調用的應用代碼,并根據(jù)模塊代碼和接口調用的應用代碼,生成用于接口測試的測試用例。本發(fā)明可以自動生成應用所需的模塊代碼、接口調用的應用代碼,最終實現(xiàn)接口測試的應用代碼自動生成,從而可以準確地測試n-api工具生成的代碼業(yè)務功能,提高了應用接口測試的效率。
1.一種測試接口的測試用例生成方法,其特征在于,所述測試接口的測試用例生成方法包括:
2.根據(jù)權利要求1所述的測試接口的測試用例生成方法,其特征在于,所述解析用戶接口文件和接口信息,具體包括:
3.根據(jù)權利要求2所述的測試接口的測試用例生成方法,其特征在于,所述解析所述用戶接口文件,獲取對應的模塊信息,具體包括:
4.根據(jù)權利要求1所述的測試接口的測試用例生成方法,其特征在于,所述根據(jù)解析得到的文件信息、接口參數(shù)以及返回值信息,生成應用所需的模塊代碼和接口調用的應用代碼,具體包括:
5.根據(jù)權利要求4所述的測試接口的測試用例生成方法,其特征在于,所述根據(jù)所述用戶接口文件對應的模塊信息,生成所述用戶接口文件中導入模塊的代碼,具體包括:
6.根據(jù)權利要求1所述的測試接口的測試用例生成方法,其特征在于,所述根據(jù)所述接口參數(shù)以及所述返回值信息,生成所述接口調用的應用代碼,具體包括:
7.根據(jù)權利要求1所述的測試接口的測試用例生成方法,其特征在于,所述根據(jù)所述模塊代碼和所述接口調用的應用代碼,生成用于接口測試的測試用例,具體包括:
8.一種測試接口的測試用例生成系統(tǒng),其特征在于,所述測試接口的測試用例生成系統(tǒng)包括:
9.一種終端,其特征在于,所述終端包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的測試接口的測試用例生成程序,所述測試接口的測試用例生成程序被所述處理器執(zhí)行時實現(xiàn)如權利要求1-7任一項所述的測試接口的測試用例生成方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有測試接口的測試用例生成程序,所述測試接口的測試用例生成程序被處理器執(zhí)行時實現(xiàn)如權利要求1-7任一項所述的測試接口的測試用例生成方法的步驟。