彩票走势图

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

翻译|使用教程|编辑:况鱼杰|2020-03-12 11:27:40.573|阅读 630 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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


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

创建单元测试

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

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

为了演示示例单元测试,本文测试了一个名为HelloWorldCore的简单“ Hello World”项目。该项目的示例代码如下:

namespace HelloWorldCore

   public class Program
   {
      public static void Main()
      {
         Console.WriteLine("Hello World!");
      }
   }
在“解决方案资源管理器”中,选择解决方案节点。然后,从顶部菜单栏中,选择File > Add > New Project。

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

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

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

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

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

将代码添加到单元测试方法中。例如,对于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项目模板。

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

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

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

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

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

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

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

推荐阅读:

建单元测试命令

本文内容到这里就结束了,本系列教程持续更新了,敬请期待~喜欢该产品的朋友可以点击下载Visual Studio试用版免费体验~


想要购买Visual Studio正版授权,或了解更多产品信息请点击

慧聚IT


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP