System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及計算機軟件,尤其涉及一種單元測試方法、裝置和存儲介質。
技術介紹
1、傳統的軟件開發過程中,對于c/c++代碼的單元測試往往依賴于手動編寫測試用例并使用自定義的測試框架進行測試。近年來,隨著軟件開發行業的發展,出現了一些優秀的自動化測試框架,其中google?test(gtest)就是其中之一。gtest是由google開發的c++單元測試框架,它能夠大大簡化c/c++代碼的單元測試過程,提高測試的效率和質量。然而,gtest框架存在無法支持在虛擬環境中運行、測試用例不可復用、測試用例不可配置以及必須在每個測試用例代碼中增加額外的代碼才能實現模擬某些接口的輸出等問題。
技術實現思路
1、有鑒于此,本公開提出了一種單元測試方法、裝置和存儲介質。
2、根據本公開的一方面,提供了一種單元測試方法。該方法包括:
3、確定用戶配置,用戶配置用于確定測試用例和測試環境;
4、在測試環境中運行與測試用例關聯的測試代碼;
5、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置控制目標函數的行為,返回函數執行結果。
6、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置控制目標函數的行為,返回函數執行結果,包括:
7、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果。
8、在一種可能的實現方式
9、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
10、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據針對目標函數行為的配置,確定自定義函數的輸入參數;
11、基于自定義函數的輸入參數,運行與目標函數對應的自定義函數,確定目標函數的輸出值;
12、基于目標函數的輸出值和期望輸出值返回函數執行結果。
13、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
14、在運行測試代碼的過程中,響應于測試代碼調用目標函數且自定義函數庫中存在與目標函數的函數簽名一致的自定義函數,根據用戶配置運行與目標函數的函數簽名一致的自定義函數,返回函數執行結果。
15、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
16、在運行測試代碼的過程中,響應于測試代碼調用目標函數且目標函數中包括預設跳轉指令,基于預設跳轉指令確定自定義函數;
17、根據用戶配置運行預設跳轉指令對應的自定義函數,返回函數執行結果。
18、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置控制目標函數的行為,返回函數執行結果,還包括:
19、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置執行修改目標函數的輸入參數、修改目標函數的輸出值、跳過執行目標函數中的任一種或多種操作,返回函數執行結果。
20、在一種可能的實現方式中,該方法還包括:
21、啟動測試用例進程;
22、響應于測試用例進程啟動,加載自定義函數庫,自定義函數庫中包括一個或多個自定義函數;
23、響應于自定義函數庫加載完成,加載接收到的用戶配置;
24、在測試環境中運行與測試用例關聯的測試代碼,包括:
25、響應于用戶配置加載完成,在測試環境中運行與測試用例關聯的測試代碼。
26、在一種可能的實現方式中,用戶配置包括用戶配置文件、數據庫中存儲的配置信息、可視化界面配置中的任一種或多種形式。
27、在一種可能的實現方式中,目標函數包括系統的接口函數和測試代碼的接口函數。
28、根據本公開的另一方面,提供了一種單元測試裝置。該裝置包括:
29、確定模塊,用于確定用戶配置,用戶配置用于確定測試用例和測試環境;
30、運行模塊,用于在測試環境中運行與測試用例關聯的測試代碼;
31、控制模塊,用于在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置控制目標函數的行為,返回函數執行結果。
32、在一種可能的實現方式中,控制模塊,用于:
33、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果。
34、在一種可能的實現方式中,針對測試用例的用戶配置包括針對目標函數行為的配置和針對目標函數的期望輸出值,
35、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
36、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據針對目標函數行為的配置,確定自定義函數的輸入參數;
37、基于自定義函數的輸入參數,運行與目標函數對應的自定義函數,確定目標函數的輸出值;
38、基于目標函數的輸出值和期望輸出值返回函數執行結果。
39、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
40、在運行測試代碼的過程中,響應于測試代碼調用目標函數且自定義函數庫中存在與目標函數的函數簽名一致的自定義函數,根據用戶配置運行與目標函數的函數簽名一致的自定義函數,返回函數執行結果。
41、在一種可能的實現方式中,在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置運行與目標函數對應的自定義函數,返回函數執行結果,包括:
42、在運行測試代碼的過程中,響應于測試代碼調用目標函數且目標函數中包括預設跳轉指令,基于預設跳轉指令確定自定義函數;
43、根據用戶配置運行預設跳轉指令對應的自定義函數,返回函數執行結果。
44、在一種可能的實現方式中,控制模塊,還用于:
45、在運行測試代碼的過程中,響應于測試代碼調用目標函數,根據用戶配置執行修改目標函數的輸入參數、修改目標函數的輸出值、跳過執行目標函數中的任一種或多種操作,返回函數執行結果。
46、在一種可能的實現方式中,該裝置還包括:
47、啟動模塊,用于啟動測試用例進程;
48、第一加載模塊,用于響應于測試用例進程啟動,加載自定義函數庫,自定義函數庫中包括一個或多個自定義函數;
49、第本文檔來自技高網...
【技術保護點】
1.一種單元測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置控制所述目標函數的行為,返回函數執行結果,包括:
3.根據權利要求2所述的方法,其特征在于,針對測試用例的用戶配置包括針對目標函數行為的配置和針對目標函數的期望輸出值,
4.根據權利要求2所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置運行與所述目標函數對應的自定義函數,返回函數執行結果,包括:
5.根據權利要求2所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置運行與所述目標函數對應的自定義函數,返回函數執行結果,包括:
6.根據權利要求1所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置控制所述目標函數的行為,返回函數執行結果,還包括:
7.根據權利要求1所述的方法,其特征在
8.根據權利要求1所述的方法,其特征在于,所述用戶配置包括用戶配置文件、數據庫中存儲的配置信息、可視化界面配置中的任一種或多種形式。
9.根據權利要求1所述的方法,其特征在于,所述目標函數包括系統的接口函數和所述測試代碼的接口函數。
10.一種單元測試裝置,其特征在于,所述裝置包括:
11.一種單元測試裝置,其特征在于,包括:
12.一種非易失性計算機可讀存儲介質,其上存儲有計算機程序指令,其特征在于,所述計算機程序指令被處理器執行時實現權利要求1至9中任意一項所述的方法。
...【技術特征摘要】
1.一種單元測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置控制所述目標函數的行為,返回函數執行結果,包括:
3.根據權利要求2所述的方法,其特征在于,針對測試用例的用戶配置包括針對目標函數行為的配置和針對目標函數的期望輸出值,
4.根據權利要求2所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置運行與所述目標函數對應的自定義函數,返回函數執行結果,包括:
5.根據權利要求2所述的方法,其特征在于,所述在運行所述測試代碼的過程中,響應于所述測試代碼調用目標函數,根據所述用戶配置運行與所述目標函數對應的自定義函數,返回函數執行結果,包括:
6.根據...
【專利技術屬性】
技術研發人員:請求不公布姓名,請求不公布姓名,請求不公布姓名,
申請(專利權)人:摩爾線程智能科技上海有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。