- .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 Core - MSBuild
- .NET Core - 元包
- Windows运行时和扩展SDK
- 创建.NET Standard库
- .NET Core - 可移植类库
- 向库添加引用
- 共享.NET Core库
- 创建Xamarin.Forms项目
- .NET Core - PCL故障排除
- .NET Core - 创建测试项目
- 在Visual Studio中运行测试
- .NET Core - 测试库
- 托管可扩展性框架
- .NET Core - 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。
右键单击test文件夹。
选择project.json文件,然后单击打开。
下面的截图显示了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命令行实用程序一起工作。然后,您将看到testRunner,它将运行xunit,您还可以看到netcoreapp1.0框架。
您将在下面看到.NETCore.App依赖项。
要在Visual Studio中运行测试,让我们从测试→窗口→测试资源管理器菜单选项打开测试资源管理器。
您可以看到Visual Studio会自动检测测试。测试的名称由命名空间.类名.测试方法名组成。现在让我们单击测试资源管理器中的“运行全部”按钮。
它将首先构建代码,然后运行测试,您将看到测试的总时间。让我们更改测试方法,以便在测试失败时可以看到输出。
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(false); } } }
让我们再次通过单击运行全部按钮链接来执行测试。
您现在可以看到测试失败。