在 .NET 中測試
本文介紹測試的概念,並說明如何使用不同類型的測試來驗證程式碼。 有各種工具可用於測試 .NET 應用程式,例如 .NET CLI 或整合式開發環境 (IDE)。
測試類型
自動化的測試是很好的方式,可確保應用程式程式碼按照其作者的意圖執行。 本文涵蓋單元測試、整合測試和負載測試。
單元測試
單元測試是練習個別軟體元件或方法的測試,也稱為「工作單位」。單元測試應只測試開發人員控制項內的程式碼。 而不會測試基礎結構考量。 基礎結構考量包括與資料庫、檔案系統和網路資源的互動。
如需建立單元測試的詳細資訊,請參閱測試工具。
整合測試
整合測試與單元測試不同,因為其會練習兩個或多個軟體元件一起運作的能力,也稱為「整合」。這些測試會在受測的系統範圍上運作,而單元測試則著重於個別元件。 整合測試通常包括基礎結構考量。
負載測試
負載測試的目標是判斷系統是否可以處理指定的負載。 例如,使用應用程式的並行使用者數目,以及應用程式以回應的方式處理互動的能力。 如需 Web 應用程式負載測試的詳細資訊,請參閱 ASP.NET Core 負載/壓力測試。
測試考量
也請記得撰寫測試時可採用的最佳做法。 舉例來說,測試驅動開發 (TDD) 是指在要檢查的程式碼前寫入單元測試的時機。 使用 TDD 就像是在寫書之前打好草稿。 單元測試可協助開發人員撰寫更簡單、易於閱讀且有效率的程式碼。
測試工具
.NET 是多語言開發平台,您可以撰寫適用於 C#、F# 和 Visual Basic 的各種測試類型。 針對每種語言,您可以選擇數個測試架構。
xUnit
xUnit 是適用於 .NET 的免費開放原始碼社群焦點單元測試工具。 NUnit v2 的原始作者撰寫 xUnit.net。 xUnit.net 是單元測試 .NET 應用程式的最新技術。 其也適用於 ReSharper、CodeRush、TestDriven.NET 和 Xamarin。 xUnit.net 是 .NET Foundation 的專案,會以其管理辦法運作。
如需詳細資訊,請參閱下列資源:
NUnit
NUnit 是適用於所有 .NET 語言的單元測試架構。 一開始,NUnit 是從 JUnit 移植,而目前的生產版本已使用許多新功能重寫,並支援各種 .NET 平台。 這是 .NET Foundation 的專案。
如需詳細資訊,請參閱下列資源:
MSTest
MSTest 是所有 .NET 語言的 Microsoft 測試架構。 其是可延伸的,並同時適用於 .NET CLI 和 Visual Studio。 如需詳細資訊,請參閱下列資源:
MSTest 執行器
MSTest 執行器是 VSTest 的輕量型且可攜式替代方案,用於在持續整合 (CI) 管線和 Visual Studio 測試總管中執行測試。 如需詳細資訊,請參閱 MSTest 執行器概觀。
.NET CLI
您可以使用 dotnet test 命令,從 .NET CLI 執行解決方案單元測試。 .NET CLI 會公開整合式開發環境 (IDE) 透過使用者介面提供的大部分功能。 .NET CLI 是跨平台的,可用來做為持續整合和傳遞管線的一部分。 .NET CLI 會與已編寫指令碼的處理序搭配使用,以自動化一般工作。
IDE
無論您是使用 Visual Studio 或 Visual Studio Code,都有用於測試功能的圖形化使用者介面。 IDE 可用的功能比 CLI 更多,例如 Live Unit Testing。 如需詳細資訊,請參閱使用 Visual Studio 包含和排除測試。
請參閱
如需詳細資訊,請參閱下列文章: