如何建立 Unit Test ?

发表于:2018-3-19 11:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:点灯坊    来源:个人博客

  使用 .NET Core SDK 建立 Unit Test
  Contents
  1.Version
  2.建立 Unit Test 项目
  3.使用 VS Code 开启项目
  4.新增 Project Reference
  5.编辑 UnitTest1.cs
  6.执行 Unit Test
  7.其他相关指令
  8.Conclusion
  虽然我们可以使用 console app 来测试 class library,但比较好的方式是建立 unit test,搭配各种测试案例测试 class library 的结果。
  Version
  macOS High Sierra 10.13.3
  .NET Core SDK 2.1.101
  建立 Unit Test 项目
  1$ dotnet new mstest -o MyClassLib.Tests
  使用dotnet new?建立 project。
  ●mstest: 建立 MSTest 类型项目
  ●-o:o output,建立在?MyClassLib.Tests?目录下
  1.输入dotnet new mstest -o MyClasLib.Tests?将 MSTest 类型项目建立在?MyClassLib.Tests?目录下
  2..NET Core SDK 开始建立项目所需的档案
  3.自动 restore dependency
  除了 MSTest,.NET Core SDK 预设还支援 xUnit,若想使用 NUnit,可到?Available templates for dotnet new?下载 NUnit project template
  使用 VS Code 开启项目
  1$ code MyClassLib.Tests
  使用code?执行 VS Code,后面接开启目录名称。
  ●使用 VS Code 开启MyClassLib.Tests
  新增 Project Reference
  1~/MyProject $ dotnet add reference ../MyClassLib/MyClassLib.csproj
  因为MyClassLib.Tests?需要使用MyClassLib,所以使用dotnet add reference新增 project reference。
  1.输入dotnet add reference ../MyClassLib/MyClassLib.csproj?将?MyClassLib?project 加入 reference
  2.观察MyConsole.csproj
  3.MyClassLib.csproj被加入在<ItemGroup>下的<ProjectReference>
  4.其他 package 被加入在<ItemGroup>下的<PackageReference>
  Project reference 与 package reference 都被记录在csproj中,其中<ProjectReference>纪录 project reference,而<PackageReference>记录 package reference
  编辑 UnitTest1.cs
  UnitTest1.cs
  using Microsoft.VisualStudio.TestTools.UnitTesting;
  namespace MyClassLib.Tests
  {
      [TestClass]
      public class UnitTest1
      {
          [TestMethod]
          public void TestMethod1()
          {
              // Arrange
              var target = new CalculatorService();
              
              // Act
              var actual = target.Sum(1, 1);
              // Assert
              var expected = 2;
              Assert.AreEqual(expected, actual);
          }
      }
  }
  根据3A原则建立CalculatorService?的 Unit Test。
  1.开启UnitTest1.cs
  2.建立CalculatorService的 Unit Test
  执行 Unit Test
  1~/MyProjet $ dotnet test
  使用dotnet test执行单元测试
  1.输入dotnet test执行单元测试
  2.测试通过,得到绿灯
  其他相关指令
  1$ dotnet remove reference *.csproj
  移除 project reference。
  1$ dotnet list reference
  列出所有 project reference。
  Conclusion
  ●.NET Core SDK 支援各种 Unit Test,包括 MSTest、xUnit 与 NUnit
  ●使用dotnet add reference新增 project reference



上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号