.NET Core - 在 Visual Studio 中运行测试

在本章中,我们将讨论如何在 Visual Studio 中运行测试。 .NET Core 在设计时考虑了可测试性,因此为您的应用程序创建单元测试比以往任何时候都容易。 在本章中,我们将在 Visual Studio 中运行和执行我们的测试项目。

让我们在 Visual Studio 中打开 FirstApp 解决方案。

FirstApp solution

您可以看到它只有两个项目,您将看不到测试项目,因为我们尚未在我们的解决方案中添加该项目。

让我们先添加一个文件夹并将其命名为 test

Test

右键单击 test 文件夹。

Test 文件夹

选择 project.json 文件并单击Open

项目 Json 文件

以下屏幕截图将 Tests.cs 文件中的代码显示为输出。

Tests

它是默认实现,它只是测试 True 是否等于 true。 它是 xUnit 测试框架,您将看到注释和表示测试方法的 Fact 属性。

using System; 
using Xunit; 
  
namespace Tests { 
   public class Tests { 
      [Fact] 
      public void Test1() { 
         Assert.True(true); 
      } 
   } 
} 

以下是 project.json 文件的实现。

{ 
   "version": "1.0.0-*", 
   "buildOptions": { 
      "debugType": "portable" 
   }, 
   "dependencies": { 
      "System.Runtime.Serialization.Primitives": "4.1.1", 
      "xunit": "2.1.0", 
      "dotnet-test-xunit": "1.0.0-rc2-192208-24" 
   }, 
   "testRunner": "xunit", 
   "frameworks": { 
      "netcoreapp1.0": { 
         "dependencies": { 
            "Microsoft.NETCore.App": { 
               "type": "platform", 
               "version": "1.0.1" 
            }
         }, 
         "imports": [ 
            "dotnet5.4", 
            "portable-net451+win8" 
         ] 
      } 
   } 
}

project.json文件中,测试框架最重要的依赖是xunit,它引入了Fact属性。 它引入了用于使用 xunit 进行测试的测试框架和 API.

我们还有 dotnet-test-xunit,这是一个采纳者,因此 xunit 可以与 .NET Core 一起工作,特别是与 dotnet test 命令行实用程序一起工作。然后您将看到将运行 xunit 的 testRunner,您还可以看到 netcoreapp1.0 框架。

您将在下面看到 .NETCore.App 依赖项。

要在 Visual Studio 中运行测试,让我们从 Test → Window → Test Explorer 菜单选项中打开测试资源管理器。

Test Explorer

您可以看到 Visual Studio 自动检测测试。 测试名称由 namespace.className.TestMethodName 组成。 现在让我们点击 Run All button in Test Explorer

Run All Button

它将首先构建代码并运行测试,您将看到测试所用的总时间。 让我们更改测试方法,以便在测试失败时我们可以看到输出。

using System; 
using Xunit; 
  
namespace Tests { 
   public class Tests { 
      [Fact] 
      public void Test1() { 
         Assert.True(false); 
      } 
   } 
} 

让我们通过单击 Run All 按钮链接再次执行测试。

Run All

您现在可以看到 test 失败。