翻譯|使用教程|編輯:況魚杰|2020-03-20 14:45:55.140|閱讀 704 次
概述:您可以使用“ 測試資源管理器”窗口來編寫和運行C ++單元測試。它的工作方式與其他語言一樣。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Visual Studio 是功能完備的 IDE,可用于編碼、調試、測試和部署到任何平臺,Visual Studio使用 .NET 開發 iOS、Android 和 Web 應用和游戲。
您可以使用“ 測試資源管理器”窗口來編寫和運行C ++單元測試。它的工作方式與其他語言一樣。
注意:C ++不支持某些功能,例如實時單元測試,編碼的UI測試和IntelliTest。
Visual Studio包括這些C ++測試框架,無需額外下載:
Visual Studio 2017及更高版本(專業版和企業版)。C ++單元測試項目支持CodeLens。
Visual Studio 2017及更高版本(所有版本)
基本測試流程
以下各節顯示了入門C ++單元測試的基本步驟。Microsoft和Google Test框架的基本配置都相似。Boost.Test要求您手動創建一個測試項目。
在Visual Studio 2019中創建測試項目
您可以在一個或多個測試項目中定義和運行測試。您可以使用與要測試的代碼相同的解決方案來創建項目。要將新的測試項目添加到現有解決方案中,請在解決方案資源管理器中右鍵單擊解決方案節點。在彈出菜單中,選擇“ 添加” >“ 新建項目”。將語言設置為C ++,然后在搜索框中輸入“ test”。下圖顯示了安裝帶有C ++的桌面開發和UWP Development工作負載時可用的測試項目:
在解決方案中創建對其他項目的引用
要允許訪問被測項目中的功能,請在測試項目中添加對該項目的引用。在解決方案資源管理器中的測試項目節點上單擊鼠標右鍵,以彈出菜單。選擇添加 > 參考。
鏈接到對象或庫文件
如果測試代碼沒有導出要測試的功能,則可以將輸出.obj或.lib文件添加到測試項目的依賴項中。
為頭文件添加#include指令
接下來,在單元測試.cpp文件中,#include為任何標頭文件添加一個指令,該標頭文件聲明要測試的類型和功能。鍵入#include ",然后IntelliSense將激活以幫助您選擇。對其他標題重復上述步驟。
為了避免在源文件的每個include語句中鍵入完整路徑,可以在Project > Properties > C / C ++ > General > Additional Include Directories中添加所需的文件夾。
編寫測試方法
注意:本節顯示了用于C / C ++的Microsoft單元測試框架的語法。
測試項目中的.cpp文件具有為您定義的存根類和方法。它們顯示了如何編寫測試代碼的示例。簽名使用TEST_CLASS和TEST_METHOD宏,這些宏使方法可以從“ 測試資源管理器”窗口中發現。
TEST_CLASS和TEST_METHOD是Microsoft本機測試框架的一部分。Test Explorer以類似的方式發現其他受支持框架中的測試方法。
TEST_METHOD返回void。要產生測試結果,請使用Assert該類中的靜態方法來根據預期結果測試實際結果。在以下示例中,假定MyClass具有一個采用的構造函數std::string。我們可以測試構造函數是否按預期方式初始化了該類,如下所示:
TEST_METHOD(TestClassInit) { std::string name = "Bill"; MyClass mc(name); Assert::AreEqual(name, mc.GetName()); }在前面的示例中,Assert::AreEqual調用結果確定測試是通過還是失敗。Assert類包含許多其他方法,用于比較預期結果與實際結果。
您可以向測試方法添加特征以指定測試所有者,優先級和其他信息。然后,您可以在Test Explorer中使用這些值對測試進行排序和分組。
運行測試
在“ 測試”菜單上,選擇“ Windows” >“ 測試資源管理器”。下圖顯示了尚未運行測試的測試項目。
注意:CTest與Test Explorer的集成尚不可用。從CMake主菜單運行CTest測試。
如果在窗口中看不到所有測試,請通過在解決方案資源管理器中右鍵單擊其節點并選擇Build或Rebuild來構建測試項目。
在“ 測試資源管理器”中,選擇“全部運行”,或選擇要運行的特定測試。右鍵單擊測試以獲取其他選項,包括在啟用斷點的調試模式下運行。運行所有測試后,該窗口顯示哪些測試通過和哪些測試失敗:
對于失敗的測試,該消息提供了有助于診斷原因的詳細信息。右鍵單擊失敗的測試以彈出菜單。選擇“ 調試選定的測試”以逐步執行發生故障的功能。
使用CodeLens(Visual Studio 2017及更高版本(專業版和企業版))
使用CodeLens,您可以快速查看單元測試的狀態,而無需離開代碼編輯器。您可以通過以下任何一種方式為C ++單元測試項目初始化CodeLens:
單擊該圖標以獲取更多信息,或者運行或調試單元測試:
本次內容到此就結束了,喜歡該產品的朋友可以點擊下載Visual Studio試用版免費體驗~
想要購買Visual Studio正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: