測驗可變引數函式
在對專案代碼做單元測驗時,有些函式可能是可變引數的函式,針對可變引數函式生成測驗用例后,會發現引數樹中只能找到固定的引數部分,可變引數部分無法輸入引數,這是因為VectorCAST不能直接在引數樹中顯示出沒有名稱的引數,所以在測驗用例設計界面中無法找到可變引數的部分,在這種情況下,如果需要測驗可變引數函式,可以借助User
Code來測驗被測函式,
User Code是VectorCAST中很重要的一部分,而且功能十分強大,通過編輯User
Code可以使得測驗作業更容易進行,也可以通過User
Code來拓展VectorCAST生成的測驗套件的任何一部分,使用標準的C、C++語法,就可以方便地編輯User Code,
針對如下簡單的示例代碼,利用VectorCAST進行測驗:

首先創建測驗環境,測驗環境創建完成,對函式average函式做單元測驗,打開測驗用例設計界面后,我們只能看到引數num和return,可變引數部分因為沒有顯示在界面中,所以也不能直接設計輸入值和期望,在這種情況下,就需要我們通過User Code撰寫對應數量引數的函式來呼叫被測函式,就可以滿足測驗可變引數函式的目的,到選單Environment->User Code->Edit,打開User Code 界面,找到Unit Appendix User Code,展開后找到被測檔案,雙擊空白區域,進入編輯狀態,在此處定義不同引數數量的函式,呼叫被測可變引數函式:


完成后點擊Test Compile按鈕,測驗編譯,保存,重新構建環境,構建完成后可以在函式串列中看到新增的被測函式,對不同引數數量的函式創建測驗用例,在界面輸入引數,執行測驗用例即可測驗被測的可變引數函式,

打樁可變引數函式
在對專案代碼做單元測驗時,被測函式呼叫到了一些外部函式,這時需要對外部函式打樁,排除外部函式的干擾,打樁一方面可以對傳遞到樁函式中的引數設定期望值,驗證傳遞引數是否正確;另一方面可以自定義樁回傳值,回傳一個自定義的值,某些情況下,被測函式呼叫的外部函式是可變引數的函式,但是對于可變引數打樁后只能看到固定引數的部分,可變引數部分因為沒有引數名,所以無法直接在引數樹中找到可變引數部分,也就不能直接設定樁函式引數的期望值,在這種情況下,可變引數部分也可以借助User
Code來獲取樁函式中可變引數的部分,實作驗證可變引數部分的引數值,
到選單Environment->User
Code->Edit,打開User Code 界面,找到Unit Appendix User
Code,展開后找到被測檔案,雙擊空白區域,進入編輯狀態,定義一個全域變數,用于存盤可變引數的部分,在此處為了方便,定義了一個10元素的陣列,用于存盤可變引數的部分,這里需要根據實際代碼,對User
Code做出調整,


完成后點擊Test Compile按鈕,測驗編譯,保存,
到選單Environment->Configure
Stub->Edit,打開User Code編輯界面,找到需要打樁的外部函式,雙擊Beginning of
stub,進入編輯狀態,輸入以下代碼,這里的代碼是將所有可變引數的部分賦值給全域變數average_param_list,


這里的User Code也需要根據實際代碼情況,做出調整,完成后點擊Test Compile按鈕,測驗編譯,保存,重新構建環境,環境構建完成后,可以在測驗用例設計界面,看到新增的全域變數,對外部函式打樁后,可以輸入全域變數的期望值,執行測驗用例,被測函式執行完成后,傳遞進樁函式的實際值值會自動和期望值做比較,如果相同,測驗用例執行通過,

“原創內容,轉載請標明出處”
創提資訊科技(上海)有限公司
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/382188.html
標籤:其他
上一篇:KubeCon 2021|使用 eBPF 代替 iptables 優化服務網格資料面性能
下一篇:HTML制作游戲網首頁
