2

是否可以在 Visual Studio 2012 中从 Visual Studio 2010 获得相同的测试列表编辑器功能?

我想做的是制作一组包含我要运行的测试的列表。运行列表时,我希望能够轻松地将测试从一个列表移动到另一个列表。这在 VS2010 中很容易,但是使用 VS2012 中的测试资源管理器就不可能了。我知道类别功能,但这不是我想要的。它可能在本质上与 VS2010 的测试列表编辑器中的测试几乎相同,但需要更多的工作。

有谁知道在 VS2012 中获得相同功能的有效解决方法或插件或类似的东西?

//更新

在几个月不使用 SpecFlow 之后,我选择了另一个使用 SpecFlow 的项目。在 VS2012 中使用 SpecFlow 进行测试的一些事情发生了变化。现在可以在 VS2012 中获得接近 VS2010 中描述的功能的功能。这就是我的诀窍:

  • Visual Studio 2012 Update 2 引入了播放列表的使用;
  • 将测试运行工具设置为 VisualStudio2012(工具 -> 选项 -> Specflow -> 常规 -> 测试运行工具)让我有机会运行单个场景,只需右键单击它们并选择“运行单元测试”;
  • 安装 NUnit 测试适配器让 VS2012 发现我所有的 SpecFlow 场景,并让它们出现在测试资源管理器中,在那里它们可以被放入播放列表中。

我希望此更新将帮助遇到与我相同问题的人。

4

4 回答 4

5

一种解决方法是同时使用 VS2010。我发现这是两全其美的最佳方式。

我在 VS2010 和 VS2012 中都打开了我的解决方案——我在 VS2010 中完成了所有的测试创建、调试和维护。然后切换回 VS2012 以获得 VS2012 中的其他不错的功能。

这解决了 VS2012 中新测试功能中的主要缺点(恕我直言),我发现其中包括您描述的问题以及:

  • 删除“创建单元测试...”选项(主要退一步!)
  • 在大型项目上启动单元测试时性能非常慢(在我的一个项目中,这比 VS2010 慢 100 *)
于 2012-09-22T10:47:40.787 回答
2

在 Visual Studio 的 Update 2 中,他们引入了“测试播放列表”的概念。这使您可以轻松地对测试进行分组,并且类似于测试列表。

您可以实现与使用特征实现的结果相似的结果,但正如我添加的链接所提到的:

使用播放列表是使用 Traits 对测试进行分组并仅运行一个子集的替代方法,但主要区别在于Trait 表示测试的真实属性,(例如,被测试的软件的逻辑区域或其他属性这样的数据库表明它需要一个测试数据库),而播放列表主要是为了将异构测试组合在一起以简化管理,用于运行测试和管理它们。

于 2013-07-30T20:32:08.647 回答
0

要进入测试列表编辑器,请在解决方案资源管理器中右键单击解决方案,将 .testsettings 文件添加到解决方案。.testsettings 文件现在应该在名为“解决方案项目”的文件夹下可见(直接在解决方案下)。所有这些都是为了让这个文件夹显示在解决方案资源管理器中(不确定如何让这个文件夹在 VS2012 中显示)。您还应该在下面看到一个“.vsmdi”文件。打开它将导致测试列表编辑器窗口弹出

于 2013-01-05T22:29:18.367 回答
0

您可以按照其他答案中的建议打开.vsmdi文件来查看测试列表编辑器,但它会给您一个警告:

测试列表编辑器已弃用。您无法从此编辑器运行测试

并且窗口中缺少运行按钮。如此有效,您只能看到测试用例列表。VS2012作为测试类的概念来满足你的需求。更多详细信息,请参见定义测试类别以对您的测试进行分组

于 2013-06-12T08:47:20.873 回答