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

Hou*_*man 154 .net unit-testing mstest visual-studio-2012 visual-studio-2013

我安装了新的Visual Studio 2012 Ultimate.

我用我的解决方案创建了一个测试项目,它包含一些默认的单元测试.但是,右键单击新方法不再显示"创建单元测试"上下文菜单.

请参阅Visual Studio 2010 Ultimate: 在此输入图像描述

和Visual Studio 2012旗舰版: 在此输入图像描述

知道为什么会这样吗?

更新:

Visual Studio 2012和2013的解决方案:

微软已经在这里承认了它,并提供了修补它的补丁官方工作.下载,安装和享受!

Dan*_*ite 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认同)
  • 看起来该解决方案中的第三个选项在VS2013中不再可用. (3认同)

Joh*_*hnB 33

" 单元测试生成器 "扩展可用

单元测试发生器扩展

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

  1. 菜单:工具 - >扩展和更新
  2. 单击:在线 - > Visual Studio库
  3. 搜索:"单元测试发生器"

MSDN视频演示

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


小智 28

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

EditorContextMenus.CodeWindow.CreateUnitTests
Run Code Online (Sandbox Code Playgroud)

打开命令窗口并在那里键入命令.或者键入别名命令,如下所示

alias ut EditorContextMenus.CodeWindow.CreateUnitTests
Run Code Online (Sandbox Code Playgroud)

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

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

Tools -> Options -> Environment -> Keyboard
Run Code Online (Sandbox Code Playgroud)

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

  • 我不能让这个工作.我将光标设置在方法上.点击我添加的短代码然后得到一条消息:命令"EditorContextMenus.CodeWindow.CreateUnitTests"不可用. (7认同)

Seb*_* H. 19

以下是如何再次启用它:

方法1 - 命令窗口

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

EditorContextMenus.CodeWindow.CreateUnitTests

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

别名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点来放置它们):http:
//serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

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

  • 这对我帮助很大,非常感谢你.我错过了在我的补救措施中添加虚拟单元测试步骤. (3认同)
  • 手动创建一个重要的单元测试。愚蠢地不知道为什么菜单项直到那时才被禁用。 (2认同)

MiF*_*vil 9

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

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.
Run Code Online (Sandbox Code Playgroud)

但有时它适用于同一解决方案,因此行为似乎是间歇性的.

随着一扶达瓦法的帖子" 创建单元测试...功能不可用或禁用 "我发现每个Visual Studio的会议期间,您需要创建一个测试类向导才可用手动.

如果解决方案中有现有的单元测试项目,

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

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

转到文件 - >添加 - >新建项目...在添加新项目窗口中,选择已安装 - > Visual C# - >测试 - >单元测试项目.给它一个有意义的名称并单击OK

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

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

.


Sco*_*man 6

测试版中删除了"创建单元测试"菜单.我不确定是否有计划将它带回来.如果它真的是一个问题,请在Visual Studio UserVoice站点上请求它:http://visualstudio.uservoice.com/