我安装了新的Visual Studio 2012 Ultimate。
我用我的解决方案创建了一个测试项目,它包含一些默认的单元测试。但是,右键单击新方法不再显示“创建单元测试”上下文菜单。
请参阅Visual Studio 2010 Ultimate:
和Visual Studio 2012 Ultimate:
知道为什么会这样吗?
更新
Visual Studio 2012和2013的解决方案:
Microsoft已承认here并提供了official work around patch来解决此问题。下载,安装和享受!
答案 0 :(得分:86)
此功能已从VS中删除。
生成单元测试向导 - 在VS2010中,您可以右键单击a 代码中的方法,我们会在您的测试中生成单元测试 项目。该向导与MS-Test紧密结合并依赖 关于像私人访问者这样的功能来做它的工作,所以它被削减了。我们 正在探索替代方案,但没有任何好的解决方案 爱好。
编辑有一种解决方法:http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx
答案 1 :(得分:33)
" Unit Test Generator"可以使用扩展程序
直接从Visual Studio 2012/2013 IDE添加:
注意:VS 2012/2013中的MSTest仍然很糟糕
答案 2 :(得分:27)
菜单项仍然存在,但由于未知原因,它在代码编辑器中不可见。 但您可以使用visual studio命令运行单元测试向导。你需要的命令是
EditorContextMenus.CodeWindow.CreateUnitTests
打开命令窗口并在那里键入命令。或者键入别名命令,如下所示
alias ut EditorContextMenus.CodeWindow.CreateUnitTests
并将别名更快地分配给run命令。
运行向导的另一种方法是键盘快捷键。在Visual Studio中打开
Tools -> Options -> Environment -> Keyboard
在“显示命令包含”文本框中键入“createunit”以过滤掉CreateUnitTests命令,选择它。在“使用新快捷方式”组合框中选择“文本编辑器”,然后在“按快捷键”文本字段中按所需的快捷键(例如,按Ctrl + T,Ctrl + C)。最后,按Assign按钮。享受!
答案 3 :(得分:19)
以下是如何再次启用它:
方法1 - 命令窗口
如果你发现足够困难,你会发现调用创建单元测试的命令实际上是:
EditorContextMenus.CodeWindow.CreateUnitTests
您实际上可以在命令窗口中键入它以调用“创建单元测试向导”。如果您发现它太冗长,您实际上可以为它创建一个别名。
alias ut EditorContextMenus.CodeWindow.CreateUnitTests
然后输入ut以启动向导。
方法2 - 键盘快捷键
下一种方法是转到工具 - >选项 - >环境 - >键盘并设置您偏好的快捷键。
方法3 - 重新启用创建单元测试...上下文菜单。
要重新启用“创建单元测试...”菜单,请转到“工具” - >“自定义...”以启动“自定义”对话框。在Customize对话框中,转到Commands选项卡,选择Context菜单单选按钮,然后选择Editor Context Menus |代码窗口。
您将意识到菜单项实际上在上下文菜单中可用。 VS开发人员非常友好地为我们留下了它。
单击Create Unit Tests ...菜单项,然后单击Move Down直到它在“Run tests ..”命令的上面/下面。 然后单击“关闭”。
重新启动Visual Studio 2012,就是这样!上下文菜单将可用!
您可能会发现使用上述任何方法都可能无效。即命令窗口将告诉您该命令不可用,键盘快捷键不会触发或上下文菜单可用但禁用。
要允许所有这些工作,您首先需要在解决方案中安装单元测试项目。创建单元测试项目后,您需要手动将单元测试项添加到项目中,即使项目单独展开也是如此。完成此操作后,所有内容都将像在Visual Studio 2010中一样运行。您可以安全地删除这些UnitTest1.cs文件。
来源(有图片,我没有足够的Rep Points来放置它们):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html
(ps:阅读警告!!!!)
答案 4 :(得分:9)
answer的intrueder对许多用户不起作用。 当我在命令窗口中输入UT时,我有时会遇到以下内容
>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.
但有时它适用于同一解决方案,因此行为似乎是间歇性的。
在Dawa Law的帖子“Create Unit Tests… Function Not Available Or Disabled”的帮助下,我发现在每个Visual Studio会话期间,您需要手动创建一个测试类,然后才能使用向导。
如果解决方案中有现有的单元测试项目,
在Solution Explorer中,右键单击Unit Test项目 - >添加 - >单元 测试...这将创建一个新的单元测试类并触发Visual Studio 现有的单元测试类可用,从而启用Create 单元测试向导。注意:您可以删除创建的单元测试类 文件(UnitTestX.cs),因为它用于触发函数。
如果解决方案中没有现有的单元测试项目,则需要在添加手动类之前创建它:
转到文件 - >添加 - >新项目...在“添加新项目”窗口中, 选择已安装 - > Visual C# - >测试 - >单元测试项目。给它一个 有意义的名称,然后单击确定
Dawa Law的帖子“Create Unit Tests…” Function Not Available Or Disabled有快照来说明每一步。
请注意,VS 2012创建单元测试向导仅支持公共方法的生成测试,在以前的版本中也支持私有方法。
答案 5 :(得分:6)
测试版中删除了“创建单元测试”菜单。我不确定是否有计划将它带回来。如果它确实存在问题,请在Visual Studio UserVoice站点上请求它:http://visualstudio.uservoice.com/
答案 6 :(得分:4)
您可以通过从here导入以下vssettings来重新获得右键点击“创建单元测试...”。
答案 7 :(得分:2)
http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx
方法3 - 重新启用创建单元测试...上下文菜单。
这是迄今为止最好的方法。要重新启用“创建单元测试...”菜单,请转到“工具” - >“自定义...”以启动“自定义”对话框。在Customize对话框中,转到Commands选项卡,选择Context菜单单选按钮,然后选择Editor Context Menus |代码窗口。
答案 8 :(得分:0)
“您可能会发现使用上述任何一种方法均行不通。例如,“命令窗口”将告诉您该命令不可用,键盘快捷键将不会触发,或者上下文菜单将可用但被禁用。
要使所有这些方法都起作用,您首先需要在解决方案中包含一个单元测试项目。创建单元测试项目后,即使项目是单独展开的,您也需要手动将“单元测试”项添加到项目中。完成此操作后,一切将像在Visual Studio 2010中一样恢复正常。您可以安全地删除那些UnitTest1.cs文件。”
(Michael Freidgeim)