.NET Core 和 .NET Standard 中的单元测试Unit testing in .NET Core and .NET Standard

本文内容

通过 .NET Core,可以轻松创建单元测试。本文介绍了单元测试及其与其他类型的测试的不同之处。页面底部附近的链接资源介绍了如何向解决方案添加测试项目。设置测试项目后,可使用命令行或 Visual Studio 运行单元测试。

如果要测试 ASP.NET Core 项目,请参阅 ASP.NET Core 中的集成测试

.NET Core 2.0 及更高版本支持 .NET Standard 2.0,我们将使用它的库来演示单元测试。

可以使用适用于 C#、F# 和 Visual Basic 的内置 .NET Core 2.0 及更高版本单元测试项目模板作为个人项目的起始点。

什么是单元测试?What are unit tests?

使用自动测试是确保软件应用程序按作者期望执行操作的一种绝佳方式。软件应用程序有多种类型的测试。其中包括集成测试、Web 测试、负载测试和其他测试。“单元测试”用于测试个人软件组件或方法 。单元测试仅应测试开发人员控件内的代码。它们不应测试基础结构问题。基础结构问题包括数据库、文件系统和网络资源。

此外,请记住还可使用编写测试的最佳做法。例如,测试驱动开发 (TDD) 是指先编写单元测试,再编写该单元测试要检查的代码。TDD 就像先编写书籍大纲,再编写该书籍。它旨在帮助开发人员编写更简单、更具可读性的高效代码。

备注

ASP.NET 团队遵循这些约定帮助开发人员为测试类和方法提供合适的名称。

编写单元测试时,尽量不要引入基础结构依赖项。这些依赖项会降低测试速度,使测试更加脆弱,应将其保留供集成测试使用。可以通过遵循 Explicit Dependencies Principle(显式依赖项原则)和使用 Dependency Injection(依赖项注入)避免应用程序中的这些依赖项。还可以将单元测试保留在单独的项目中,与集成测试相分隔。这可确保单元测试项目没有引用或依赖于基础结构包。

后续步骤Next steps

有关 .NET Core 项目中的单元测试的详细信息:

.NET Core 单元测试项目支持: