[發明專利]一種單元測試方法及系統有效
| 申請號: | 201911385923.2 | 申請日: | 2019-12-29 |
| 公開(公告)號: | CN111008153B | 公開(公告)日: | 2023-05-30 |
| 發明(設計)人: | 魏臻;程磊;湯俊;方瑩;徐自軍;胡慶新;程運安;徐偉;黃鵬 | 申請(專利權)人: | 合肥工大高科信息科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 合肥天明專利事務所(普通合伙) 34115 | 代理人: | 金凱 |
| 地址: | 230088 安*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 單元測試 方法 系統 | ||
1.一種單元測試方法,其特征在于,用于對含有私有成員的函數或私有函數進行單元測試,包括:
查找原測試用例所在的測試文件,并在測試文件頭部添加反射的命名空間的引用;
利用反射訪問私有成員或私有函數,編寫新的測試用例;
根據新的測試用例,執行單元測試代碼,生成測試報告;
在所述利用反射訪問私有成員,編寫新的測試用例中,包括:
查找所述原測試用例,并實例化被測類;
通過反射方法獲取類中的私有字段,以在測試文件中修改原測試用例,并編寫所述新的測試用例;
其中,通過反射方法獲取類中的私有字段,以在測試文件中修改原測試用例,并編寫所述新的測試用例,具體包括:
獲取所述被測類類型關聯的Type對象t;
利用反射的FieldInfo,發現字段屬性并提供對字段元數據的訪問權,通過Type對象t,獲取所述被測類中的私有字段;
利用FieldInfo類的SetValue方法,設置所述被測類中的私有字段的值,并完成測試用例編寫。
2.如權利要求1所述的單元測試方法,其特征在于,在對私有函數進行單元測試時,所述利用反射方法訪問私有函數,編寫新的測試用例,包括:
在所述測試文件中添加所述私有函數的測試用例,并實例化被測類;
通過反射方法獲取被測類中的私有函數,并編寫所述新的測試用例。
3.如權利要求2所述的單元測試方法,其特征在于,所述通過反射方法獲取被測類中的私有函數,并編寫所述新的測試用例,包括:
獲取所述被測類類型關聯的Type對象t;
利用反射的MethodInfo,發現方法的屬性并提供對方法元數據的訪問,通過Type對象t,訪問所述被測類中的私有函數;
初始化私有函數的參數;
利用MethodInfo類的Invoke方法將所述被測類對象名稱和私有方法參數傳給Invoke方法,來調用所述私有函數,并編寫所述新的測試用例。
4.如權利要求3所述的單元測試方法,其特征在于,在所述私有方法中包含ref或out參數或者函數有返回值時,還包括:
將所述初始化后的私有方法的參數封裝進object數組中;
初始化object數組,并調用私有方法查看調用后的參數值或函數的返回值。
5.一種單元測試系統,其特征在于,用于對含有私有成員的函數或私有函數進行單元測試,包括查找模塊、反射調用模塊和測試模塊:
查找模塊用于查找原測試用例所在的測試文件,并在測試文件頭部添加反射的命名空間的引用;
反射調用模塊用于利用反射方法訪問私有成員或私有函數,編寫新的測試用例;
測試模塊用于根據新的測試用例,執行單元測試代碼,生成測試報告;
在對含有私有成員的函數進行單元測試時,所述反射調用模塊包括查找單元和第一反射調用單元;
查找單元用于查找所述原測試用例,并實例化被測類;
第一反射調用單元用于通過反射方法獲取類中的私有字段,以在測試文件中修改原測試用例,并編寫所述新的測試用例;
所述第一反射調用單元包括第一獲取子單元、第一反射調用子單元、私有字段值獲取子單元和私有字段值設置子單元;
第一獲取子單元用于獲取所述被測類類型關聯的Type對象t;
第一反射調用子單元用于利用反射機制的FieldInfo,發現字段屬性并提供對字段元數據的訪問權,通過Type對象t,獲取所述被測類中的私有字段;
私有字段值設置子單元用于利用FieldInfo類的SetValue方法,設置所述被測類中的私有字段的值,并完成測試用例編寫。
6.如權利要求5所述的單元測試系統,其特征在于,在對私有函數進行單元測試時,所述反射調用模塊包括添加單元和第二反射調用單元;
添加單元用于在所述測試文件中添加所述私有函數的測試用例,并實例化被測類;
第二反射調用單元用于通過反射方法獲取被測類中的私有函數,并編寫所述新的測試用例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于合肥工大高科信息科技股份有限公司,未經合肥工大高科信息科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911385923.2/1.html,轉載請聲明來源鉆瓜專利網。





