如何在VS2015预览版中运行xUnit单元测试?

20

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

那么,我该如何在VS2015 Preview中运行xUnit Unit Tests呢?


请查看此处的问题 https://github.com/xunit/visualstudio.xunit/issues/31 - robi-y
安装了所有复选框选中的 VS 2015 社区版发布版本。我运行 XUnit 测试时无需额外安装,但是当一次性运行所有测试时(所有测试都是单线程且仅限于 github.com/EamonNerbonne/ExpressionToCode 的托管代码)会出现崩溃。因此,请将它们分成小批次运行。 - Dzmitry Lahoda
4个回答

14

您可以在此处找到答案: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. 按照下图中的示例输入名称和源代码(注意:在输入名称和源代码后,务必单击更新按钮) enter image description here

祝您编写愉快!


1
我在使用Test Explorer时遇到了麻烦,当项目包含多个测试时,例如来自GitHub上的Mvc项目的测试时,它无法发现这些测试。我已在Connect上报告了此问题:https://connect.microsoft.com/VisualStudio/feedback/details/1099770 - Anthony Sneed
在我添加了NuGet软件包源之后,我无法找到xunit.Krunner软件包,我能找到的所有xunit软件包都是:xunit.executionxunit.runner.utility - Jaider
@Jaider,也许有更新...请查看此链接:https://github.com/aspnet/Testing/wiki/How-to-create-test-projects { "dependencies": { "MyProject": "1.0.0-*", "xunit.runner.kre": "1.0.0-*" }, "frameworks": { "aspnet50": { }, "aspnetcore50": { } }, "commands": { "test": "xunit.runner.kre" } } - Jeremiah Flaga
根据xUnit的twitter以及参考这篇博客文章:http://xunit.github.io/docs/getting-started-aspnet.html,我们应该使用xunit.runner.aspnet。 - Lejdholt

7

“xunit.runner.visualstudio”: “2.1.0.0-beta1-build1051” 的目的是什么?对我来说,没有它也可以工作。 - Bart Calixto
很奇怪,我原以为 xunit.runner.visualstudio 是用于在 Visual Studio 中运行测试的,而 xunit.runner.aspnet 则是用于支持新的 ASP.NET 并从控制台运行测试。 - Radenko Zec
No. xunit.runner.visualstudio 用于桌面、PCL、Windows 和 Windows Phone DLL。xunit.runner.dnx 是一个包含控制台和 Visual Studio 运行器的组合包。 - Brad Wilson

5

使用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包名称不区分大小写,所以我最好的猜测是您的软件包缓存已损坏,这就是为什么其中一个工作而另一个不工作的原因。 - Brad Wilson
哇 - 我刚刚遇到了这个问题!虽然大小写的 X x 看起来很奇怪,但我也遇到了同样的问题! - Nicholas Mayne
我曾经遇到过同样的问题 - 确保NuGet包名称以大写字母X开头。否则,通过project.json更改包版本并使用dnu restore使它们大写。 - nh43de

0
关于通过测试资源管理器管理/运行测试,可以通过nuget获得。 我必须在测试项目中安装xunit.runner.visualstudio版本0.99.9-build1021包。 构建解决方案后,测试正常显示,我能够运行它们。
顺便说一下,这是针对Windows服务的,但应该适用于ASP.NET/Web项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接