155

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

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

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

和 Visual Studio 2012 Ultimate: 在此处输入图像描述

知道为什么会这样吗?

更新:

Visual Studio 2012 和 2013 的解决方案:

微软已经在这里承认了这一点,并提供了一个官方解决补丁来修复它。下载、安装和享受!

4

9 回答 9

87

此功能是从 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 紧密耦合,并且依赖于私有访问器等功能来完成其工作,因此它被删除了。我们正在这里探索替代方案,但还没有任何好的解决方案。

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

于 2012-03-21T16:19:24.167 回答
33

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

单元测试生成器扩展

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

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

MSDN 视频演示

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

于 2014-01-07T10:34:13.180 回答
28

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

EditorContextMenus.CodeWindow.CreateUnitTests

打开命令窗口并在那里键入命令。或按如下方式键入别名命令

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

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

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

Tools -> Options -> Environment -> Keyboard

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

于 2012-12-03T21:48:27.257 回答
19

以下是如何再次启用它:

方法 1 - 命令窗口

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

EditorContextMenus.CodeWindow.CreateUnitTests

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

别名 ut EditorContextMenus.CodeWindow.CreateUnitTests

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

方法 2 - 键盘快捷键

下一个方法是转到工具->选项->环境->键盘并设置您喜欢的快捷键。

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

要重新启用 Create Unit Tests... 菜单,请转到 Tools->Customize... 以启动 Customize 对话框。在自定义对话框中,转到命令选项卡,选择上下文菜单单选按钮并选择编辑器上下文菜单 | 代码窗口。

您将意识到菜单项实际上在上下文菜单中可用。VS 开发人员很友好地把它留给了我们。

单击“创建单元测试...”菜单项,然后单击“下移”,直到它在“运行测试...”命令上/下。然后单击关闭。

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

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

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

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

(ps:阅读注意事项!!!!)

于 2013-03-14T12:09:53.007 回答
9

intruder答案对许多用户不起作用。当我在命令窗口中输入 UT 时,有时会出现以下情况

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

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

借助Dawa Law的帖子“<a href="http://dl.my/2013/create-unit-tests-function-not-available-or-disabled/" rel="nofollow noreferrer">创建单元测试...功能不可用或禁用”我发现在每个 Visual Studio 会话期间,您需要手动创建一个测试类,然后才能使用向导。

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

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

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

转到 File –> Add –> New Project... 在 Add New Project 窗口中,选择 Installed –> Visual C# –> Test –> Unit Test Project。给它一个有意义的名称,然后单击确定

Dawa Law的 帖子“<a href="http://dl.my/2013/create-unit-tests-function-not-available-or-disabled/" rel="nofollow noreferrer">创建单元测试... ” Function Not Available or Disabled 有快照来说明每个步骤。

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

.

于 2013-03-03T10:29:37.887 回答
6

“创建单元测试”菜单在测试版中被删除。我不确定是否有计划将其带回。如果您确实有问题,请在 Visual Studio UserVoice 网站上请求:http: //visualstudio.uservoice.com/

于 2012-03-10T03:12:01.720 回答
4

您可以通过从此处导入以下 vssettings 来重新获得右键单击“创建单元测试...” 。

于 2013-02-13T06:18:36.890 回答
3

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

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

这是迄今为止最好的方法。要重新启用 Create Unit Tests... 菜单,请转到 Tools->Customize... 以启动 Customize 对话框。在自定义对话框中,转到命令选项卡,选择上下文菜单单选按钮并选择编辑器上下文菜单 | 代码窗口。

于 2013-03-26T10:02:28.237 回答
0

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

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

(迈克尔·弗赖德海姆)

于 2019-05-03T17:38:43.710 回答