如何 运行 nunit 测试 asp.net 5 个项目,尤其是 ReSharper?
How to run nunit tests with asp.net 5 projects, especially with ReSharper?
我正在开发针对 dnx451 的 asp.net 5 应用程序。
asp.net 5 项目依赖于一些带有为 nunit 2.x 编写的单元测试的库。所以对我来说合理的选择是使用 nunit 来测试 asp.net 5 项目。
当我 运行 在 ReSharper 中进行单元测试时,ReSharper 会显示 "Test not run" 和附加消息 "System.IO.FileNotFoundException: Could not load file or assembly xxx "。
nunit 2.6.4 和 3.0.0-beta-2 都会产生相同的错误。
有人针对 dnx 项目成功 运行 nunit 测试吗?
ReSharper 目前不支持 DNX 测试。这是一个全新的执行模型,尚未针对 ReSharper 实施。我希望在 DNX 和 asp.net 稳定并接近发布时看到支持。此外,我不认为 nunit 本身支持 运行 作为 DNX 测试运行器 - xunit 团队有一个单独的项目可以插入 DNX:https://github.com/xunit/dnx.xunit
NUnit 不支持 DNX 内核。
关注这个issue,看看nunit什么时候加入dnx支持。 https://github.com/nunit/nunit/issues/575
看起来 NUnit 从 v3.0.0-RC 开始有(部分)支持
http://www.alteridem.net/2015/11/04/testing-net-core-using-nunit-3/
希望,通过说 "Especially with ReSharper",您的意思是您想知道如何 运行 NUnit 测试,如果可能的话,使用 ReSharper。话虽这么说,这里是如何在 Visual Studio 中针对 ASP.NET 核心(以前称为 ASP.NET 5)运行 NUnit 测试而不需要 ReSharper:
- 添加一个新项目并选择控制台应用程序(.NET Core)。尝试使用 class 个库目前会报错。
- 添加最新版本的 dotnet-test-nunit NuGet 包(确保 Include prerelease 被勾选,否则你赢了'在 NuGet 提要中找到它)
- 添加最新版本的 NUnit NuGet 包。
- 编辑 project.json 并添加此行:
"testRunner": "nunit",
现在您可以 运行 您的测试,方法是从 Visual Studio 菜单中选择 测试 - 运行 - 所有测试。
您的 project.json 文件应如下所示:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"dotnet-test-nunit": "3.4.0-beta-1",
"ProjectUnderTest": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"NUnit": "3.4.1"
},
"testRunner": "nunit",
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
我正在开发针对 dnx451 的 asp.net 5 应用程序。
asp.net 5 项目依赖于一些带有为 nunit 2.x 编写的单元测试的库。所以对我来说合理的选择是使用 nunit 来测试 asp.net 5 项目。
当我 运行 在 ReSharper 中进行单元测试时,ReSharper 会显示 "Test not run" 和附加消息 "System.IO.FileNotFoundException: Could not load file or assembly xxx "。
nunit 2.6.4 和 3.0.0-beta-2 都会产生相同的错误。
有人针对 dnx 项目成功 运行 nunit 测试吗?
ReSharper 目前不支持 DNX 测试。这是一个全新的执行模型,尚未针对 ReSharper 实施。我希望在 DNX 和 asp.net 稳定并接近发布时看到支持。此外,我不认为 nunit 本身支持 运行 作为 DNX 测试运行器 - xunit 团队有一个单独的项目可以插入 DNX:https://github.com/xunit/dnx.xunit
NUnit 不支持 DNX 内核。
关注这个issue,看看nunit什么时候加入dnx支持。 https://github.com/nunit/nunit/issues/575
看起来 NUnit 从 v3.0.0-RC 开始有(部分)支持 http://www.alteridem.net/2015/11/04/testing-net-core-using-nunit-3/
希望,通过说 "Especially with ReSharper",您的意思是您想知道如何 运行 NUnit 测试,如果可能的话,使用 ReSharper。话虽这么说,这里是如何在 Visual Studio 中针对 ASP.NET 核心(以前称为 ASP.NET 5)运行 NUnit 测试而不需要 ReSharper:
- 添加一个新项目并选择控制台应用程序(.NET Core)。尝试使用 class 个库目前会报错。
- 添加最新版本的 dotnet-test-nunit NuGet 包(确保 Include prerelease 被勾选,否则你赢了'在 NuGet 提要中找到它)
- 添加最新版本的 NUnit NuGet 包。
- 编辑 project.json 并添加此行:
"testRunner": "nunit",
现在您可以 运行 您的测试,方法是从 Visual Studio 菜单中选择 测试 - 运行 - 所有测试。
您的 project.json 文件应如下所示:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"dotnet-test-nunit": "3.4.0-beta-1",
"ProjectUnderTest": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"NUnit": "3.4.1"
},
"testRunner": "nunit",
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}