- .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);
}
}
}
让我们再次通过单击运行全部按钮链接来执行测试。
您现在可以看到测试失败。