- .NET Core 教程
- .NET Core - 主页
- .NET Core - 概述
- .NET Core - 先决条件
- .NET Core - 环境设置
- .NET Core - 入门
- .NET Core - 数值
- .NET Core - 垃圾收集
- .NET Core - 代码执行
- .NET Core - 模块化
- .NET Core - 项目文件
- .NET Core - 包参考
- 使用.NET Core创建UWP应用程序
- .NET 核心 - MSBuild
- .NET Core - 元包
- Windows 运行时和扩展 SDK
- 创建.NET标准库
- .NET Core - 可移植类库
- 添加对库的引用
- 共享 .NET Core 库
- 创建 Xamarin.Forms 项目
- .NET Core - PCL 故障排除
- .NET Core - 创建测试项目
- 在 Visual Studio 中运行测试
- .NET Core - 测试库
- 托管可扩展性框架
- .NET 核心 - SDK
- .NET Core - MSBuild 和 project.json
- 恢复和构建以及 MSBuild
- .NET Core - 迁移
- .NET Core 有用资源
- .NET Core - 快速指南
- .NET Core - 有用的资源
- .NET Core - 讨论
.NET Core - 在 Visual Studio 中运行测试
在本章中,我们将讨论如何在 Visual Studio 中运行测试。.NET Core 在设计时就考虑到了可测试性,因此为应用程序创建单元测试比以往任何时候都更加容易。在本章中,我们将在 Visual Studio 中运行并执行我们的测试项目。
让我们在 Visual Studio 中打开 FirstApp 解决方案。
您可以看到它只有两个项目,您将无法看到测试项目,因为我们尚未在解决方案中添加该项目。
让我们首先添加一个文件夹并将其命名为test。
右键单击测试文件夹。
选择project.json文件并单击Open。
以下屏幕截图显示了Tests.cs文件中的代码作为输出。
这是默认实现,只是测试 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 中运行测试,请从“测试”→“窗口”→“测试资源管理器”菜单选项打开“测试资源管理器”。
您可以看到 Visual Studio 自动检测测试。测试的名称由namespace.className.TestMethodName组成。现在让我们单击Test Explorer 中的 Run All 按钮。
它将首先构建代码并运行测试,您将看到测试所花费的总时间。让我们更改测试方法,以便在测试失败时可以看到输出。
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(false); } } }
让我们通过单击“全部运行”按钮链接再次执行测试。
您现在可以看到测试失败。