“创建单元测试”选择在哪里?


154

我已经安装了新的Visual Studio 2012 Ultimate。

我已经用解决方案创建了一个测试项目,其中包含一些默认的单元测试。但是,右键单击新方法不会再显示“创建单元测试”上下文菜单。

请参阅Visual Studio 2010 Ultimate: 在此处输入图片说明

和Visual Studio 2012 Ultimate: 在此处输入图片说明

知道为什么会这样吗?

更新:

Visual Studio 2012和2013的解决方案:

Microsoft 在这里已经承认了此问题,并提供了有关修补程序官方修补程序。下载,安装并享受!


这些都是相同的项目还是mvc?
丹尼尔·A·怀特

这些是从头开始构建的新MVC 4项目。
Houman 2012年

有趣。单击“运行单元测试”会发生什么?
迭戈

2
我会报告这是一个错误。
丹尼尔·A·怀特

4
从通过MSTest提供测试基础结构到提供可插拔的测试框架,VS 11确实朝着很大的方向发展。这可能是该决定的结果。无论哪种方式,我都会提交错误
JaredPar'3

Answers:


86

此功能是从VS中删除的。

http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx

生成单元测试向导–在VS2010中,您可以右键单击代码中的方法,然后我们将在测试项目中生成单元测试。该向导与MS-Test紧密耦合,并且依靠诸如Private Accessors之类的功能来完成其工作,因此该向导被删除了。我们正在这里探索替代方案,但是还没有任何好的解决方案。

编辑有一种解决方法:http : //blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx


16
希望他们提出一个可行的解决方案。好像倒退了一大步
安德鲁·哈里

3
似乎该解决方法中的第三个选项在VS2013中不再可用。
桑德2014年

该功能在VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/中又回来了…… 感谢在visualstudio.uservoice.com/forums/121579-visual-studio/ 中投票给它的。@furier:也许您投了赞成票?
LosManos

我的意思是,它在5分钟前就在那...现在不在那里-为什么它来去去去?
BrainSlugs83

33

可以使用“ 单元测试生成器 ”扩展

单元测试生成器扩展

要直接从Visual Studio 2012/2013 IDE添加:

  1. 菜单:工具->扩展和更新
  2. 单击:联机-> Visual Studio画廊
  3. 搜索:“单元测试生成器”

MSDN视频演示

注意:VS 2012/2013中的MSTest仍然很糟糕


28

菜单项仍然存在,但是由于未知原因,它在代码编辑器中不可见。但是您可以使用Visual Studio命令来运行单元测试向导。您需要的命令是

EditorContextMenus.CodeWindow.CreateUnitTests

打开命令窗口,然后在其中键入命令。或键入别名命令,如下所示

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

并分配别名以更快地运行命令。

运行向导的另一种方法是键盘快捷键。在Visual Studio中打开

Tools -> Options -> Environment -> Keyboard

在“显示包含的命令”文本框中键入“ createunit”以过滤掉CreateUnitTests命令,然后选择它。在“使用新的快捷方式”组合中选择“文本编辑器”,然后在“按快捷键”文本字段中按所需的快捷方式(例如Ctrl + T,Ctrl + C)。最后,按分配按钮。请享用!


7
我无法使它正常工作。我将光标放在该方法上。点击我添加的简码,然后得到一条消息:命令“ EditorContextMenus.CodeWindow.CreateUnitTests”不可用。
拉尔夫·詹森

我尝试在Visual Studio 2012 Ultimate上安装更新,这可能很重要。
intrueder 2012年

1
尝试此操作时,我得到与LockTar相同的错误。因此,使用单元测试的最简单方法是制作一个新的单元测试项目。
萨丹2012年

我无法解释您为什么会出错,但是我已经抓取了证明视频,您可以在以下网站上
2006年


19

这是再次启用它的方法:

方法1-命令窗口

如果您发现足够困难,就会发现调用Create Unit Tests ...的命令实际上是:

EditorContextMenus.CodeWindow.CreateUnitTests

实际上,您可以在“命令窗口”中键入该命令以调用“创建单元测试向导”。如果您发现它太冗长,则可以为它创建一个别名。

别名ut EditorContextMenus.CodeWindow.CreateUnitTests

然后只需键入ut以启动向导。

方法2-键盘快捷键

下一种方法是转到“工具”->“选项”->“环境”->“键盘”,然后根据自己的喜好设置快捷键。

方法3-重新启用“创建单元测试...”上下文菜单。

要重新启用“创建单元测试...”菜单,请转到“工具”->“定制...”以启动“定制”对话框。在“自定义”对话框中,转到“命令”选项卡,选择“上下文菜单”单选按钮,然后选择“编辑器上下文菜单” |“编辑器”。代码窗口。

您将意识到该菜单项实际上在上下文菜单中可用。VS开发人员很友好,可以将其留给我们。

单击“创建单元测试...”菜单项,然后单击“向下移动”,直到其位于“运行测试..”命令的上方/下方。然后单击关闭。

重新启动Visual Studio 2012就是这样!上下文菜单将可用!

您可能会发现,使用上述任何一种方法均行不通。即,“命令窗口”将告诉您该命令不可用,键盘快捷键将不会触发,或者上下文菜单将可用但被禁用。

为了使所有这些都能起作用,您首先需要在解决方案中包含一个单元测试项目。创建单元测试项目后,即使项目是一个单独展开的项目,您也需要手动将一个“单元测试”项添加到项目中。完成此操作后,所有功能将像在Visual Studio 2010中一样恢复正常。您可以安全地删除那些UnitTest1.cs文件。

来源(有图片,我没有足够的代表点来放置它们):http :
//serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(ps:请阅读警告!!!!)


请注意,当在以前版本中还支持私有方法时,VS 2012创建单元测试向导仅支持针对公共方法的生成测试。
Michael Freidgeim

3
这对我很有帮助,非常感谢。我错过了在补救措施中添加虚拟单元测试步骤的步骤。
Tanveer Badar 2014年

1
手动创建一个重要的单元测试。傻傻不确定为什么菜单项在此之前被禁用。
indolentdeveloper 2014年


9

答案intrueder没有对许多用户的工作。在命令窗口中输入UT时,有时会遇到以下情况

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.

但是有时它适用于相同的解决方案,因此行为似乎是断断续续的。

Dawa Law的文章“ 创建单元测试…功能不可用或已禁用 ”的帮助下,我发现在每个Visual Studio会话期间,您都需要手动创建一个测试类,然后向导才可用。

如果解决方案中已有一个单元测试项目,

在解决方案资源管理器中,右键单击“单元测试”项目->“添加”->“单元测试...”,这将创建一个新的单元测试类,并触发Visual Studio现有的单元测试类可用,从而启用“创建单元测试”向导。注意:您可以删除创建的单元测试类文件(UnitTestX.cs),因为该文件用于触发功能。

如果解决方案中没有现有的单元测试项目,则需要在添加手动类之前创建它:

转到文件–>添加–>新建项目…在“添加新项目”窗口中,选择已安装–> Visual C#–>测试–>单元测试项目。给它起一个有意义的名称,然后单击“确定”。

达瓦法的帖子‘ 创建单元测试...’功能不可用或禁用了快照来说明每一个步骤。

请注意,当在以前版本中还支持私有方法时,VS 2012创建单元测试向导仅支持针对公共方法的生成测试。


“您必须先创建一个测试类,然后才能使用向导”-最终对我
起到

谢谢,我使用了Dawa Law的博客,它终于完成了:)
Ahmed Elbatt


4

您可以通过从此处导入以下vssettings重新获得右键单击“ Create Unit Tests ...” 。


3

http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

方法3-重新启用“创建单元测试...”上下文菜单。

这是迄今为止最好的方法。要重新启用“创建单元测试...”菜单,请转到“工具”->“定制...”以启动“定制”对话框。在“自定义”对话框中,转到“命令”选项卡,选择“上下文菜单”单选按钮,然后选择“编辑器上下文菜单” |“编辑器”。代码窗口。


...然后什么?它已经在其中列出,但是当我单击鼠标右键时它不会显示。
路加·普普利特

0

“您可能发现使用上述任何一种方法都行不通。例如,命令窗口将告诉您该命令不可用,键盘快捷键将不会触发,或者上下文菜单将可用但被禁用。

为了使所有这些都能起作用,您首先需要在解决方案中包含一个单元测试项目。创建单元测试项目后,即使项目是一个单独展开的项目,您也需要手动将一个“单元测试”项添加到项目中。完成此操作后,一切将像在Visual Studio 2010中一样恢复正常。您可以安全地删除那些UnitTest1.cs文件。”

(Michael Freidgeim)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.