在Visual Studio 2017中使用NUnit测试 NET Core

在Visual Studio 2017中使用NUnit测试 NET Core

出现下面这种情况:

在Visual Studio 2017中使用NUnit测试 NET Core

 

然后添加NuGet引用到测试框架 NUnit3.6.1,

到测试运行器 NUnit3TestAdapter 3.8.0-alpha1和测试SDK Microsoft.NET.Test .Sdk15.0.0。(下载这个运行测试器即可)

使用“ 管理NuGet包...”用户界面添加引用,或者编辑项目文件。

 

 

 

从project.json格式切换到.NET Core和.NET Standard项目的新的基于csproj的格式也改变了测试适配器的API。因此,NUnit的dotnet-test-nunit适配器停止工作,我们必须更新现有的Visual Studio测试适配器 来支持.NET Core。昨天晚上,我发布了测试适配器的第一个alpha版本到NuGet ,使用Visual Studio 2017,Visual Studio Code,TFS Build以及dotnet测试CLI命令来测试.NET Core和.NET Standard项目。

创建一个测试项目

以下说明适用于Visual Studio,但是这些原则适用于所有开发环境。

在要测试的解决方案中,添加| 新建项目...并添加一个Visual C#| .NET核心| 类库(.NET Core)。

在Visual Studio 2017中使用NUnit测试 NET Core

我正在测试一个.NET标准库,但我正在使用.NET核心类库进行测试。测试需要一个测试平台,所以你的测试程序集必须针对特定的平台。我选择了.NET Core,但是我也可以瞄准.NET 4.5甚至是多目标测试程序集。请注意,Visual Studio几乎不支持多目标测试项目,结果可能会有所不同。希望我们很快会看到工具的改进。

添加NuGet引用

首先,您将要添加一个项目引用到您正在测试的项目,然后添加NuGet引用到测试框架 NUnit3.6.1,到测试运行器 NUnit3TestAdapter 3.8.0-alpha1和测试SDK Microsoft.NET.Test .Sdk15.0.0。使用“ 管理NuGet包...”用户界面添加引用,或者编辑项目文件。

在Visual Studio 2017中使用NUnit测试 NET Core

你的csproj文件应该看起来类似于这个。注意新格式有多清洁。

在Visual Studio 2017中使用NUnit测试 NET Core

在Visual Studio中运行测试

在Visual Studio中运行测试没有改变。如果您有任何疑问,请参阅我之前在Visual Studio中运行NUnit测试的文章。

在Visual Studio 2017中使用NUnit测试 NET Core

有几件事要注意,

如果多目标测试,只有一个目标将运行在Visual Studio中,我相信第一个

.NET Core不支持代码覆盖率,这将在未来的Visual Studio更新中提供

Live单元测试也不适用于.NET Core

从命令行运行测试

将NUnit 3测试适配器添加到您的项目也将允许您使用dotnet测试 CLI。下面是一个运行在针对.NET 4.5和.NET Core 1.1的单元测试中的例子。

在Visual Studio 2017中使用NUnit测试 NET Core

测试针对两个目标运行,并且您从dotnet测试命令获得输出,而不是从NUnit控制台获得的正常颜色的NUnit输出。希望我们将在不久的将来发布更新的控制台运行。