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