开发手册 欢迎您!
软件开发者资料库

.NET核心 - 测试库

.NET核心测试库 - 从简单和简单的步骤学习.NET核心,从基本到高级概念,包括概述,先决条件,环境设置,入门,数字,垃圾收集,代码执行,模块化,项目文件,软件包参考,创建UWP应用程序,MSBuild,Metapackage,Windows运行时和扩展SDK,创建.NET标准库,可移植类库,添加库引用,共享.NET核心库,创建Xamarin.Forms项目,PCL故障排除,创建测试项目,在Visual Studio,测试库,托管扩展性框架,SDK,MSBuild和project.json中运行测试,使用MSBuild进行还原和构建,迁移。

在本章中,我们将测试我们的StringLibrary,为此我们需要重新安排我们的项目,以便我们可以遵循默认约定.

让我们打开 global.json 文件.

{    "projects": [ "src", "test" ],    "sdk": {       "version": "1.0.0-preview2-003131"    } }


在此文件的顶部,您将看到项目设置,默认情况下会设置一些文件夹,例如 src test .

按照惯例,我们必须在这些文件夹中有项目,这是新的约定,它将作为.NET Core的一部分使用.

在解决方案资源管理器中,您可以看到控制台项目和库项目都位于 src 文件夹中,而测试项目位于 test 文件夹中.

SRC Folder

Solu中的项目结构tion Explorer不代表磁盘上物理存在的位置.现在让我们打开Solution文件夹,您将看到 StringLibrary 项目不在 src 文件夹中.

StringLibrary Project

你可以看到 src 测试文件夹都映射到 global.json 文件中指定的约定.但是,我们有一个不合规的项目StringLibrary.现在让我们在 src 文件夹中添加 StringLibrary 项目.

在src文件夹中,我们有两个项目,我们需要解决问题,以便我们可以正确使用所有项目.让我们回到Visual Studio并右键单击StringLibrary项目并选择Remove选项.它不会删除它,但它只会删除项目.

删除项目

现在右键单击src文件夹并选择 Add → 现有项目...

SRC

浏览StringLibrary现在位于 src 文件夹中的项目,选择 StringLibrary.csproj 文件并单击打开.

StringLibrary.csproj

我们现在必须从<删除 StringLibrary 的引用b> project.json 控制台应用程序的文件.

{    "version": "1.0.0-*",    "buildOptions": {       "emitEntryPoint": true    },    "dependencies": {       "Microsoft.NETCore.App": {          "type": "platform",          "version": "1.0.1"       },       "NuGet.CommandLine": "3.5.0",       "System.Runtime.Serialization.Json": "4.0.3"    },    "frameworks": {       "netcoreapp1.0": {          "dependencies": { },          "imports": "dnxcore50"       }    } }


保存更改,然后添加参考在控制台项目中再次 StringLibrary .

{    "version": "1.0.0-*",    "buildOptions": {       "emitEntryPoint": true    },    "dependencies": {       "Microsoft.NETCore.App": {          "type": "platform",          "version": "1.0.1"       },    "NuGet.CommandLine": "3.5.0",       "System.Runtime.Serialization.Json": "4.0.3"    },    "frameworks": {       "netcoreapp1.0": {          "dependencies": {             "StringLibrary": {                "target": "project"             }          },          "imports": "dnxcore50"       }    } }

现在一切都应该再次运行,你可以构建 StringLibrary 然后 FirstApp (控制台项目)没有任何错误.现在让我们使用xunit测试StringLibrary功能.我们需要将StringLibrary的引用添加到我们的测试项目中.右键单击StringLibraryTests项目的References并选择Add Reference ...

Add

单击确定,这将在我们的测试项目中添加 StringLibrary 的引用.现在让我们在 Tests.cs 文件中替换以下代码.

using System; using Xunit; using StringLibrary;   namespace Tests {    public class Tests {       [Fact]       public void StartsWithUpperCaseTest() {          string input = "Mark";          Assert.True(input.StartsWithUpper());       }       [Fact]       public void StartsWithLowerCaseTest() {          string input = "mark";          Assert.True(input.StartsWithLower());       }       [Fact]       public void StartsWithNumberCaseTest() {          string input = "123";          Assert.True(input.StartsWithNumber());       }    } }

您可以看到我们有三种测试方法可以测试StringLibrary的功能.让我们点击全部运行链接,您将在测试资源管理器中看到以下输出.

运行所有链接

您还可以从命令行运行测试.让我们打开命令提示符并执行 dotnet test 命令.

.Net测试