单元测试入门
https://docs.microsoft.com/zh-cn/visualstudio/test/getting-started-with-unit-testing?view=vs-2019
使用 Visual Studio 定義和運(yùn)行單元測(cè)試,使代碼保持正常運(yùn)行、確保代碼覆蓋率并在客戶之前找到錯(cuò)誤和缺陷。?經(jīng)常運(yùn)行單元測(cè)試,確保代碼正常運(yùn)行。
創(chuàng)建單元測(cè)試
本節(jié)從較高層面介紹了如何創(chuàng)建單元測(cè)試項(xiàng)目。
在 Visual Studio 中,打開要測(cè)試的項(xiàng)目。
為了演示示例單元測(cè)試,本文測(cè)試了簡(jiǎn)單的“Hello World”項(xiàng)目。?此類項(xiàng)目的示例代碼如下所示:
C#復(fù)制
public class Program {public static void Main(){Console.WriteLine("Hello World!");} }在“解決方案資源管理器”中,選擇解決方案節(jié)點(diǎn) 。?然后,在頂部菜單欄中,選擇“文件” > “添加” > “新項(xiàng)目” 。
在新項(xiàng)目對(duì)話框中,找到并選擇要使用的測(cè)試框架的單元測(cè)試項(xiàng)目模板。
單擊“下一步”,選擇測(cè)試項(xiàng)目的名稱,然后單擊“創(chuàng)建” 。
項(xiàng)目將添加到解決方案中。
在單元測(cè)試項(xiàng)目中,右鍵單擊“引用”或“依賴項(xiàng)”,然后選擇“添加引用”,添加對(duì)要測(cè)試的項(xiàng)目的引用 。
選擇包含待測(cè)試代碼的項(xiàng)目,單擊“確定” 。
向單元測(cè)試方法添加代碼。
?提示
有關(guān)創(chuàng)建單元測(cè)試的更詳細(xì)演練,請(qǐng)參閱創(chuàng)建并運(yùn)行托管代碼的單元測(cè)試。
運(yùn)行單元測(cè)試
在頂部菜單欄中選擇“測(cè)試” > “Windows” > “測(cè)試資源管理器”,打開測(cè)試資源管理器?。
單擊“全部運(yùn)行”,運(yùn)行單元測(cè)試 。
測(cè)試完成后,綠色復(fù)選標(biāo)記表示測(cè)試通過。?紅色“x”圖標(biāo)表示測(cè)試失敗。
?提示
可以使用測(cè)試資源管理器從內(nèi)置測(cè)試框架 (MSTest) 或第三方測(cè)試框架運(yùn)行單元測(cè)試。?可以將測(cè)試分組為不同類別、篩選測(cè)試列表,以及創(chuàng)建、保存和運(yùn)行測(cè)試播放列表。?你還可以調(diào)試測(cè)試并分析測(cè)試性能和代碼覆蓋率。
查看實(shí)時(shí)單元測(cè)試結(jié)果
如果在 Visual Studio 2017 或更高版本中使用 MSTest、xUnit 或 NUnit 測(cè)試框架,可查看單元測(cè)試的實(shí)時(shí)結(jié)果。
?備注
只有企業(yè)版中提供 Live Unit Testing 功能。
選擇“測(cè)試” > “Live Unit Testing” > “啟動(dòng)”,從“測(cè)試”菜單啟用 Live Unit Testing 。
編寫和編輯代碼時(shí),請(qǐng)?jiān)诖a編輯器窗口中查看測(cè)試的結(jié)果。
單擊測(cè)試結(jié)果指示器查看詳細(xì)信息,例如涵蓋該方法的測(cè)試的名稱。
有關(guān) Live Unit Testing 的詳細(xì)信息,請(qǐng)參閱?Live Unit Testing。
使用 IntelliTest 生成單元測(cè)試
運(yùn)行 IntelliTest 時(shí),可以看到哪些測(cè)試會(huì)失敗,并可添加任何必要的代碼來修復(fù)它們。?你可選擇要保存到測(cè)試項(xiàng)目中的已生成測(cè)試,以提供回歸套件。?當(dāng)你更改代碼時(shí),重新運(yùn)行 IntelliTest,以使生成的測(cè)試與你的代碼更改同步。?若要了解如何操作,請(qǐng)參閱使用 IntelliTest 為你的代碼生成單元測(cè)試。
?提示
IntelliTest 僅適用于面向 .NET Framework 的托管代碼。
分析代碼覆蓋率
若要確定正在由編碼的測(cè)試(例如單元測(cè)試)實(shí)際進(jìn)行測(cè)試的項(xiàng)目代碼的比例,則可以使用 Visual Studio 的代碼覆蓋率功能。?若要有效防止 Bug,測(cè)試應(yīng)作用于你的大部分代碼。?若要了解如何操作,請(qǐng)參閱使用代碼覆蓋率確定所測(cè)試的代碼量。
使用第三方測(cè)試框架
通過使用第三方測(cè)試框架(如 Boost、Google、和 NUnit),可以在 Visual Studio 中運(yùn)行單元測(cè)試。?使用 NuGet 包管理器為所選框架安裝 NuGet 包 。?或者,對(duì)于 NUnit 和 xUnit 測(cè)試框架,Visual Studio 包含預(yù)配置的測(cè)試項(xiàng)目模板,其中包含必要的 NuGet 包。
創(chuàng)建使用?NUnit?的單元測(cè)試:
打開包含待測(cè)試代碼的解決方案。
右鍵單擊“解決方案資源管理器”中的解決方案,然后選擇“添加” > “新建項(xiàng)目” 。
選擇“NUnit 測(cè)試項(xiàng)目”項(xiàng)目模板 。
單擊“下一步”,為項(xiàng)目命名,然后單擊“創(chuàng)建” 。
項(xiàng)目模板包括對(duì) NUnit 和 NUnit3TestAdapter 的 NuGet 引用。
將測(cè)試項(xiàng)目中的引用添加到包含待測(cè)試代碼的項(xiàng)目中。
右鍵單擊“解決方案資源管理器”中的項(xiàng)目,然后選擇“添加” > “引用” 。?(還可以從“引用” 或“依賴項(xiàng)” 節(jié)點(diǎn)右鍵單擊菜單來添加一個(gè)引用。)
將代碼添加到測(cè)試方法。
從測(cè)試資源管理器運(yùn)行測(cè)試,或右鍵單擊測(cè)試代碼并選擇“運(yùn)行測(cè)試” 。
請(qǐng)參閱
- 演練:創(chuàng)建并運(yùn)行托管代碼的單元測(cè)試
- 創(chuàng)建單元測(cè)試命令
- 使用 IntelliTest 生成測(cè)試
- 使用測(cè)試資源管理器運(yùn)行測(cè)試
- 分析代碼覆蓋率
總結(jié)
- 上一篇: 招商迅雷vip联名卡:让你享受高品质的下
- 下一篇: iis到w3wp的数据流及工作原理