Visual Studio 使用教程:进行单元测试

使用Visual Studio定义和运行单元测试,以维护代码的运行状况,确保代码覆盖率以及在客户这样做之前发现错误和错误。经常运行单元测试以确保您的代码正常运行。

Visual Studio 是功能完备的 IDE,可用于编码、调试、测试和部署到任何平台,Visual Studio使用 .NET 开发 iOS、Android 和 Web 应用和游戏。

Visual Studio正式版


使用Visual Studio定义和运行单元测试,以维护代码的运行状况,确保代码覆盖率以及在客户这样做之前发现错误和错误。经常运行单元测试以确保您的代码正常运行。

创建单元测试

本节介绍如何创建单元测试项目。

在Visual Studio中打开要测试的项目。

namespace HelloWorldCore   public class Program   {      public static void Main()      {         Console.WriteLine("Hello World!");      }   }

在“解决方案资源管理器”中,选择解决方案节点。然后,从顶部菜单栏中,选择File > Add > New Project。

在新项目对话框中,找到要使用的测试框架的单元测试项目模板,然后选择它。

Visual Studio 使用教程:进行单元测试

单击下一步,为测试项目选择一个名称,然后单击创建。该项目已添加到您的解决方案中。

解决方案资源管理器中的单元测试项目

在单元测试项目中,通过右键单击“ 引用”或“ 依赖项”,然后选择“ 添加引用”,向要测试的项目添加引用。

选择包含要测试的代码的项目,然后单击“ 确定”。

Visual Studio 使用教程:进行单元测试

将代码添加到单元测试方法中。例如,对于MSTest项目,您可以使用以下代码。

using Microsoft.VisualStudio.TestTools.UnitTesting;using System.IO;using System;namespace HelloWorldTests{   [TestClass]   public class UnitTest1   {      private const string Expected = "Hello World!";      [TestMethod]      public void TestMethod1()      {         using (var sw = new StringWriter())         {            Console.SetOut(sw);            HelloWorldCore.Program.Main();            var result = sw.ToString().Trim();            Assert.AreEqual(Expected, result);         }      }   }}

或者,对于NUnit项目,您可以使用以下代码。

using using NUnit.Framework;using System.IO;using System;namespace HelloWorldTests{   [TestClass]   public class Tests   {      private const string Expected = "Hello World!";      [SetUp]      public void Setup()      {      }      [Test]      public void TestMethod1()      {         using (var sw = new StringWriter())         {            Console.SetOut(sw);            HelloWorldCore.Program.Main();            var result = sw.ToString().Trim();            Assert.AreEqual(Expected, result);         }      }   }}

运行单元测试

打开测试资源管理器。

要打开测试资源管理器,请从顶部菜单栏中选择“ 测试” >“ 测试资源管理器 ”。

通过单击“全部运行”来运行单元测试。

在测试资源管理器中运行单元测试

测试完成后,绿色复选标记表示测试已通过。红色的“ x”图标表示测试失败。

在测试资源管理器中查看单元测试结果

提示:您可以使用测试资源管理器从内置测试框架(MSTest)或第三方测试框架中运行单元测试。您可以将测试分为几类,过滤测试列表,以及创建,保存和运行测试的播放列表。您还可以调试测试并分析测试性能和代码覆盖率。

查看现场单元测试结果

如果您在Visual Studio 2017或更高版本中使用MSTest,xUnit或NUnit测试框架,则可以查看单元测试的实时结果。

注意:实时单元测试仅在企业版中可用。

通过选择“ 测试” >“ 现场单元测试” >“ 开始”,从“ 测试”菜单打开现场单元测试。

在Visual Studio 2019中开始实时单元测试

查看测试结果

单击测试结果指示符以查看更多信息,例如覆盖该方法的测试名称。

选择测试结果指标

使用IntelliTest生成单元测试

运行IntelliTest时,您可以查看哪些测试失败,并添加任何必要的代码来修复它们。您可以选择将哪些生成的测试保存到测试项目中以提供回归套件。在更改代码时,请重新运行IntelliTest以使生成的测试与代码更改保持同步。

提示:IntelliTest仅适用于以.NET Framework为目标的托管代码。

使用IntelliTest生成单元测试

分析代码覆盖率

若要确定项目代码的实际比例是由编码测试(例如单元测试)测试的,可以使用Visual Studio的代码覆盖功能。为了有效地防范错误,您的测试应使用大部分代码。

使用第三方测试框架

您可以使用第三方测试框架(例如Boost,Google和NUnit)在Visual Studio中运行单元测试。使用NuGet软件包管理器为您选择的框架安装NuGet软件包。或者,对于NUnit和xUnit测试框架,Visual Studio包括预配置的测试项目模板,这些模板包含必要的NuGet包。

要创建使用NUnit的单元测试:

  • 打开包含要测试的代码的解决方案。
  • 在解决方案资源管理器中右键单击该解决方案,然后选择添加 > 新建项目。
  • 选择NUnit Test Project项目模板。

Visual Studio 使用教程:进行单元测试

单击下一步,为项目命名,然后单击创建。该项目模板包括对NUnit和NUnit3TestAdapter的NuGet引用。

解决方案资源管理器中的NUnit NuGet依赖项

将引用从测试项目添加到包含要测试的代码的项目。

在解决方案资源管理器中右键单击该项目,然后选择添加 > 参考。(您也可以从“ 引用”或“ 依赖项”节点的右键单击菜单中添加引用。)

将代码添加到您的测试方法。

将代码添加到您的单元测试代码文件中

从测试资源管理器 ”中运行测试,或右键单击测试代码并选择“运行测试”。

推荐阅读:

建单元测试命令


想要购买Visual Studio正版授权,或了解更多产品信息请点击【咨询在线客服】

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月9日
下一篇 2020年1月9日

相关推荐

发表回复

登录后才能评论