Visual Studio是功能完備的 IDE,可用于編碼、調(diào)試、測試和部署到任何平臺,Visual Studio使用 .NET 開發(fā) iOS、Android 和 Web 應(yīng)用和游戲。
點(diǎn)擊立即下載Visual Studio
有多種測試DLL代碼的方法,具體取決于它是否導(dǎo)出要測試的功能。選擇以下方式之一:
-
單元測試僅調(diào)用從DLL導(dǎo)出的函數(shù):按照編寫C / C ++單元測試中所述添加單獨(dú)的測試項(xiàng)目。在測試項(xiàng)目中,添加對DLL項(xiàng)目的引用。
-
DLL被構(gòu)建為.exe文件:添加一個(gè)單獨(dú)的測試項(xiàng)目。將其鏈接到輸出目標(biāo)文件。
-
單元測試調(diào)用未從DLL導(dǎo)出的非成員函數(shù),并且DLL可以構(gòu)建為靜態(tài)庫:更改DLL項(xiàng)目,以便將其編譯為.lib文件。添加一個(gè)單獨(dú)的測試項(xiàng)目,該項(xiàng)目引用被測項(xiàng)目。這種方法的好處是允許您的測試使用未導(dǎo)出的成員,但仍將測試保留在單獨(dú)的項(xiàng)目中。
-
單元測試必須調(diào)用未導(dǎo)出的非成員函數(shù),并且代碼必須構(gòu)建為動態(tài)鏈接庫(DLL):在與產(chǎn)品代碼相同的項(xiàng)目中添加單元測試。
創(chuàng)建測試
將DLL更改為靜態(tài)庫
-
如果您的測試必須使用DLL項(xiàng)目未導(dǎo)出的成員,并且被測試項(xiàng)目被構(gòu)建為動態(tài)庫,請考慮將其轉(zhuǎn)換為靜態(tài)庫。
-
在解決方案資源管理器中,在要測試的項(xiàng)目的快捷菜單上,選擇“屬性”。將打開項(xiàng)目“屬性”窗口。
-
選擇“配置屬性>常規(guī)”。
-
將配置類型設(shè)置為靜態(tài)庫(.lib)。
引用測試項(xiàng)目中導(dǎo)出的DLL函數(shù)
-
如果DLL項(xiàng)目導(dǎo)出了要測試的功能,則可以從測試項(xiàng)目中添加對代碼項(xiàng)目的引用。
-
創(chuàng)建一個(gè)本機(jī)單元測試項(xiàng)目。
-
在“文件”菜單上,選擇“新建”>“項(xiàng)目”。在“添加新項(xiàng)目”對話框中,將“語言”設(shè)置為C ++,然后在搜索框中鍵入“ test”。然后選擇“本機(jī)單元測試項(xiàng)目”。
-
在解決方案資源管理器中,右鍵單擊測試項(xiàng)目,然后選擇“添加”>“引用”。
-
選擇項(xiàng)目,然后選擇要測試的項(xiàng)目。
選擇添加按鈕。
-
在測試項(xiàng)目的屬性中,將被測試項(xiàng)目的位置添加到“包括目錄”中。
選擇“配置屬性”>“ VC ++目錄”>“包含目錄”。選擇“編輯”,然后添加要測試的項(xiàng)目的頭目錄。
將測試鏈接到對象或庫文件
-
如果DLL沒有導(dǎo)出要測試的功能,則可以將輸出.obj或.lib文件添加到測試項(xiàng)目的依賴項(xiàng)中。
-
創(chuàng)建一個(gè)本機(jī)單元測試項(xiàng)目。
-
在“文件”菜單上,選擇“新建”>“項(xiàng)目”。在“添加新項(xiàng)目”對話框中,將“語言”設(shè)置為C ++,然后在搜索框中鍵入“ test”。然后選擇“本機(jī)單元測試項(xiàng)目”。
-
在解決方案資源管理器中,在測試項(xiàng)目的快捷菜單上,選擇“屬性”。
-
選擇“配置屬性>鏈接器>輸入>其他依賴關(guān)系”。
選擇“編輯”,然后添加.obj或.lib文件的名稱,不要使用完整路徑名。
-
選擇“配置屬性>鏈接器>常規(guī)>其他庫目錄”。
選擇“編輯”,然后添加.obj或.lib文件的目錄路徑。該路徑通常在被測項(xiàng)目的build文件夾中。
-
選擇“配置屬性”>“ VC ++目錄”>“包含目錄”。
選擇“編輯”,然后添加要測試的項(xiàng)目的頭目錄。
在同一項(xiàng)目中添加單元測試
-
修改產(chǎn)品代碼項(xiàng)目屬性,以包括單元測試所需的頭文件和庫文件。
-
在解決方案資源管理器中,在被測項(xiàng)目的快捷菜單中,選擇“屬性”,將打開項(xiàng)目“屬性”窗口。
-
選擇“配置屬性”>“ VC ++目錄”。
-
編輯包含和庫目錄:
目錄
|
屬性
|
包含目錄
|
$(VCInstallDir)UnitTest\include;$(IncludePath)
|
圖書館目錄
|
$(VCInstallDir)UnitTest\lib;$(LibraryPath)
|
-
添加一個(gè)C ++單元測試文件:
-
在解決方案資源管理器中,在項(xiàng)目的快捷菜單中,選擇“添加”>“新建項(xiàng)”>“ C ++單元測試”。
編寫單元測試
在每個(gè)單元測試代碼文件中,為要測試的項(xiàng)目的標(biāo)題添加#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);
}
};
}
運(yùn)行測試
-
在“測試”菜單上,選擇“ Windows”>“測試資源管理器”。
-
如果在窗口中看不到所有測試,請?jiān)凇敖鉀Q方案資源管理器”中右鍵單擊其節(jié)點(diǎn),然后選擇“生成”或“重新生成”,以構(gòu)建測試項(xiàng)目。
-
在測試資源管理器中,選擇“全部運(yùn)行”,或選擇要運(yùn)行的特定測試。右鍵單擊測試以獲取其他選項(xiàng),包括在啟用斷點(diǎn)的調(diào)試模式下運(yùn)行。
推薦文章:
在Visual Studio中編寫C / C ++的單元測試
想要購買Visual Studio正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: