文檔金喜正規(guī)買球>>Visual Studio系列教程>>Visual Studio 使用教程:在Visual Studio中編寫C ++ DLL的單元測試
Visual Studio 使用教程:在Visual Studio中編寫C ++ DLL的單元測試
Visual Studio是功能完備的 IDE,可用于編碼、調(diào)試、測試和部署到任何平臺,Visual Studio使用 .NET 開發(fā) iOS、Android 和 Web 應用和游戲。
有多種測試DLL代碼的方法,具體取決于它是否導出要測試的功能。選擇以下方式之一:
- 單元測試僅調(diào)用從DLL導出的函數(shù):按照編寫C / C ++單元測試中所述添加單獨的測試項目。在測試項目中,添加對DLL項目的引用。
- DLL被構建為.exe文件:添加一個單獨的測試項目。將其鏈接到輸出目標文件。
- 單元測試調(diào)用未從DLL導出的非成員函數(shù),并且DLL可以構建為靜態(tài)庫:更改DLL項目,以便將其編譯為.lib文件。添加一個單獨的測試項目,該項目引用被測項目。這種方法的好處是允許您的測試使用未導出的成員,但仍將測試保留在單獨的項目中。
- 單元測試必須調(diào)用未導出的非成員函數(shù),并且代碼必須構建為動態(tài)鏈接庫(DLL):在與產(chǎn)品代碼相同的項目中添加單元測試。
創(chuàng)建測試
將DLL更改為靜態(tài)庫
- 如果您的測試必須使用DLL項目未導出的成員,并且被測試項目被構建為動態(tài)庫,請考慮將其轉換為靜態(tài)庫。
- 在解決方案資源管理器中,在要測試的項目的快捷菜單上,選擇“屬性”。將打開項目“屬性”窗口。
- 選擇“配置屬性>常規(guī)”。
- 將配置類型設置為靜態(tài)庫(.lib)。
引用測試項目中導出的DLL函數(shù)
- 如果DLL項目導出了要測試的功能,則可以從測試項目中添加對代碼項目的引用。
- 創(chuàng)建一個本機單元測試項目。
- 在“文件”菜單上,選擇“新建”>“項目”。在“添加新項目”對話框中,將“語言”設置為C ++,然后在搜索框中鍵入“ test”。然后選擇“本機單元測試項目”。
- 在解決方案資源管理器中,右鍵單擊測試項目,然后選擇“添加”>“引用”。
- 選擇項目,然后選擇要測試的項目。 選擇添加按鈕。
- 在測試項目的屬性中,將被測試項目的位置添加到“包括目錄”中。 選擇“配置屬性”>“ VC ++目錄”>“包含目錄”。選擇“編輯”,然后添加要測試的項目的頭目錄。
將測試鏈接到對象或庫文件
- 如果DLL沒有導出要測試的功能,則可以將輸出.obj或.lib文件添加到測試項目的依賴項中。
- 創(chuàng)建一個本機單元測試項目。
- 在“文件”菜單上,選擇“新建”>“項目”。在“添加新項目”對話框中,將“語言”設置為C ++,然后在搜索框中鍵入“ test”。然后選擇“本機單元測試項目”。
- 在解決方案資源管理器中,在測試項目的快捷菜單上,選擇“屬性”。
- 選擇“配置屬性>鏈接器>輸入>其他依賴關系”。 選擇“編輯”,然后添加.obj或.lib文件的名稱,不要使用完整路徑名。
- 選擇“配置屬性>鏈接器>常規(guī)>其他庫目錄”。 選擇“編輯”,然后添加.obj或.lib文件的目錄路徑。該路徑通常在被測項目的build文件夾中。
- 選擇“配置屬性”>“ VC ++目錄”>“包含目錄”。 選擇“編輯”,然后添加要測試的項目的頭目錄。
在同一項目中添加單元測試
- 修改產(chǎn)品代碼項目屬性,以包括單元測試所需的頭文件和庫文件。
- 在解決方案資源管理器中,在被測項目的快捷菜單中,選擇“屬性”,將打開項目“屬性”窗口。
- 選擇“配置屬性”>“ VC ++目錄”。
- 編輯包含和庫目錄:
目錄 | 屬性 |
包含目錄 |
$(VCInstallDir)UnitTest\include;$(IncludePath) |
圖書館目錄 |
$(VCInstallDir)UnitTest\lib;$(LibraryPath) |
- 添加一個C ++單元測試文件:
- 在解決方案資源管理器中,在項目的快捷菜單中,選擇“添加”>“新建項”>“ C ++單元測試”。
編寫單元測試
在每個單元測試代碼文件中,為要測試的項目的標題添加#include語句。將測試類和方法添加到單元測試代碼文件中。例如:
#include "stdafx.h" #include "CppUnitTest.h" #include "MyProjectUnderTest.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace MyTest { TEST_CLASS(MyTests) { public: TEST_METHOD(MyTestMethod) { Assert::AreEqual(MyProject::Multiply(2,3), 6); } }; }
運行測試
- 在“測試”菜單上,選擇“ Windows”>“測試資源管理器”。
- 如果在窗口中看不到所有測試,請在“解決方案資源管理器”中右鍵單擊其節(jié)點,然后選擇“生成”或“重新生成”,以構建測試項目。
- 在測試資源管理器中,選擇“全部運行”,或選擇要運行的特定測試。右鍵單擊測試以獲取其他選項,包括在啟用斷點的調(diào)試模式下運行。
推薦文章:
在Visual Studio中編寫C / C ++的單元測試
想要購買Visual Studio正版授權,或了解更多產(chǎn)品信息請點擊