Unit testing 使用Visual Studio 2012在当前上下文中运行/调试测试

Unit testing 使用Visual Studio 2012在当前上下文中运行/调试测试,unit-testing,visual-studio-2012,Unit Testing,Visual Studio 2012,在VS2010中,可以在当前上下文中运行或调试测试 这使得单击我刚刚添加或修改的测试并运行它(Ctrl-RT)或调试它(Ctrl-R Ctrl-T)变得很容易。(或使用我的游戏键盘…G1;-) 我能找到的运行特定测试的唯一方法是在测试资源管理器中找到它并从那里运行它。这就要求我把注意力从我正在编写的代码上移开 在VisualStudio2012中是否有与当前上下文相当的内容?我自己也在寻找这个,碰巧遇到了这个小道消息 如果在要在当前上下文中调试的测试内单击鼠标右键,然后选择“运行测试”或“调试测

在VS2010中,可以在当前上下文中运行或调试测试

这使得单击我刚刚添加或修改的测试并运行它(Ctrl-RT)或调试它(Ctrl-R Ctrl-T)变得很容易。(或使用我的游戏键盘…G1;-)

我能找到的运行特定测试的唯一方法是在测试资源管理器中找到它并从那里运行它。这就要求我把注意力从我正在编写的代码上移开


在VisualStudio2012中是否有与当前上下文相当的内容?

我自己也在寻找这个,碰巧遇到了这个小道消息

如果在要在当前上下文中调试的测试内单击鼠标右键,然后选择“运行测试”或“调试测试”,则它将仅运行该测试

根据测试资源管理器,该文件中的所有其他测试可能会失败,但它应该可以工作


事实证明,您可以右键单击以下任意一种源代码:

  • 特定测试(
    public void MyTest()
  • 包含测试的类(
    公共类MyTestClass
  • 包含测试的命名空间(
    命名空间My.Project.Test
并获取上下文菜单,以便在每个给定范围内运行或调试测试。(注意:上下文菜单中的文本不会更改)


这已经证明是对我来说有选择地运行测试的最有用的方法。

我发现这样做的方法是搜索

FullName:"<your namespace>"
FullName:“

在测试资源管理器中,然后选择全部并运行所选测试。

如果所选测试是私有方法,测试套件将忽略它并运行该类中的所有测试。为了在上下文中运行测试,必须将其声明为public。

Vs2012具有可用于分组测试的特性。我可以带你去那里


“Ctrl+R T”在查看测试文件时仍然有效。编辑器中还有一个右键单击菜单来运行和调试测试。什么不起作用?@ToddKing谢谢你的评论。这很有帮助。但是,我仍然会错过提供上下文所提供的功能。这对于新建项目或架构良好的项目来说可能并不重要,但对于遗留系统和大型系统来说,这是一个非常重要的问题。因此,我的解决方案中有数千个测试,其中一些测试可能需要很长时间。我只想在我当前的测试类中运行测试,没有可用的吗?@McKay:我刚刚发布了一个比以前接受的答案更好的答案。如果你有Visual Studio 2013 Ultimate,你会喜欢代码镜头的测试/测试。这在2010年曾经有效,但在2010年不再适用于我2012@McKay当前位置为我工作。。。我在发布前再次确认。如果你在一个文件中有两个类怎么办?还是在一个文件中包含两个名称空间?或在不同文件中的另一个类中继承的方法。我的经验表明,在2012年,只有测试和文件的上下文,没有其他内容。名称空间和类不起作用。@McKay:嗯,我遵循最常见的(我认为)方法,即每个类(或部分类部分)有一个文件,它的工作原理与我描述的一样。我没有在一个文件中用多个类和/或名称空间测试过这一点。