【问题标题】:How can I run xUnit Unit Tests with VS2015 Preview?如何使用 VS2015 Preview 运行 xUnit 单元测试?
【发布时间】:2014-11-19 14:00:41
【问题描述】:

我通过扩展管理器添加了“xUnit.net runner for Visual Studio”v0.99.8,但是当我打开测试资源管理器窗口时,它似乎没有接收到我的任何单元测试。此外,Resharper 9 EAP 是唯一支持 VS2015 的 Resharper 版本,似乎还没有 xUnit Test Runner 插件。

那么,我可以在 VS2015 Preview 中运行 xUnit 单元测试吗?

【问题讨论】:

  • 已安装 VS 2015 社区版本,所有复选框均已选中。我无需额外安装即可运行 XUnit 测试。但是我在一次运行所有测试时崩溃了(所有测试都是单线程的,并且只有 github.com/EamonNerbonne/ExpressionToCode 的托管代码)。所以小批量运行它们。

标签: unit-testing xunit xunit.net visual-studio-2015


【解决方案1】:

您可以在这里找到答案:http://blogs.msdn.com/b/webdev/archive/2014/11/12/announcing-asp-net-features-in-visual-studio-2015-preview-and-vs2013-update-4.aspx

Visual Studio 支持通过测试资源管理器运行和调试 ASP.NET 5 xUnit 测试。您需要做的就是将 xUnit 依赖项和测试命令添加到测试项目的 project.json 文件中,如下所示(注意:要安装 xUnit 包,您需要添加 https://www.myget.org/F/aspnetvnext/api/v2 作为 NuGet 包源):

"dependencies": {
    "Xunit.KRunner": "1.0.0-beta1"
},

"commands": {
    "test": "Xunit.KRunner"
},

如果有人问如何将https://www.myget.org/F/aspnetvnext/api/v2 添加为 NuGet 包源... 步骤如下:

  1. 在 Visual Studio 2015 Preview 中,转到工具 -> 选项 -> NuGet 包管理器 -> 包源
  2. 点击顶部的加号(添加)按钮(见下图)
  3. 如下图所示输入名称和来源(注意:输入名称和来源后请务必点击更新按钮)

编码愉快!

【讨论】:

【解决方案2】:

您需要添加对这 3 个 nuget 包的引用:

"xunit": "2.1.0.0-beta1-build2945",
"xunit.runner.aspnet": "2.1.0.0-beta1-build60",
"xunit.runner.visualstudio": "2.1.0.0-beta1-build1051"

查看这篇文章了解更多信息: http://blog.developers.ba/unit-integration-testing-in-asp-net-5-and-visual-studio-2015-using-xunit-net/

【讨论】:

  • "xunit.runner.visualstudio": "2.1.0.0-beta1-build1051" 的目的是什么?对我来说,没有它也可以。
  • 这很奇怪。我认为 xunit.runner.visualstudio 用于从 Visual Studio 运行测试,而 xunit.runner.aspnet 用于支持新的 aspnet 并从控制台运行测试。
  • 没有。 xunit.runner.visualstudio 用于桌面、PCL、Windows 和 Windows Phone DLL。 xunit.runner.dnx 控制台和 Visual Studio 运行器在一个包中。
【解决方案3】:

使用 Visual Studio 2015 RC,我无法使用以下测试进行测试:

"xunit": "2.1.0-beta2-*",
"xunit.runner.dnx": "2.1.0-beta2-*"

但是在将第一个字母“x”的大小写更改为“X”后,测试开始显示在测试资源管理器中

"Xunit": "2.1.0-beta2-*",
"Xunit.runner.dnx": "2.1.0-beta2-*"

当我将它改回小写时,它会失败。目前我还没有找到让这些测试显示在最新版本的 Resharper 中的方法。

这是我遵循的帖子,并且由于某种原因,除了外壳之外一切正常:

http://xunit.github.io/docs/getting-started-dnx.html

我知道这很快就会过时,但同时希望它对某人有所帮助:)

【讨论】:

  • 绝对不是这样。我认识的每个使用它的人——包括我自己——都对小写 x 没有任何问题。看起来 NuGet 包名称不区分大小写,所以我最好的猜测为什么一个有效而另一个无效是你有一个损坏的包缓存。
  • 哇——我真的只是碰到了这个!虽然,外壳 X x 的事情很疯狂,但同样的事情发生在我身上!
  • 我遇到了同样的问题 - 确保 nuget 包名称以大写 X 开头。否则,请通过 project.json 和 dnu restore 更改包版本以使其大写。
【解决方案4】:

关于通过测试资源管理器管理/运行测试,可以通过 nuget 获得。 我必须在测试项目中安装包 xunit.runner.visualstudio 版本 0.99.9-build1021。 构建解决方案后,测试显示良好,我能够运行它们。

顺便说一句,这适用于 Windows 服务,但应该适用于 ASP.NET/Web 项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    相关资源
    最近更新 更多