9

我已经切换到使用 VS 2012 并且对于大多数部分来说它很棒。问题是我找不到如何按类别过滤单元测试?

4

4 回答 4

10

假设您已经像这样使用了 TestCategoryAttribute:

[TestMethod, TestCategory("MyTestCategory")]
public void MyTest() {}

在“测试资源管理器”窗口中,要包含特定类别,请在过滤器文本框中输入: Trait:"MyTestCategory"
要删除特定类别的测试,请在过滤器文本框中输入:
-Trait:"MyTestCategory"

您可以过滤掉或包含多个类别。这允许您在测试资源管理器窗口中过滤掉集成测试和自动化 UI 测试,以便您可以更有效地使用“构建后运行测试”。

See here for more: http://msdn.microsoft.com/en-us/library/hh270865.aspx#BKMK_Searching_and_filtering_the_test_list

于 2013-10-03T16:26:29.370 回答
6

在最新的 Visual Studio 2012 CTP 中添加了此功能。测试资源管理器现在可以选择按特征(类别)对测试进行分组并按特征(类别)进行筛选 https://msdn.microsoft.com/en-us/library/hh270865.aspx

于 2012-10-08T22:30:24.430 回答
4

我也一直在寻找这个功能,据我所知,你不能按类别过滤。我尝试使用搜索过滤器Category:"categoryName",但这不起作用。看来您可以从命令行(http://msdn.microsoft.com/en-us/library/dd286683.aspx)按测试类别运行,并且您可以定义在构建中运行哪些类别(http:// msdn.microsoft.com/en-us/library/dd286595.aspx),但从 IDE 看来不可能。

我希望试用 Visual Studio 2012 的默认测试工具,但由于我对测试类别的依赖,唯一的选择似乎是第 3 方商业工具,例如 JetBrains dotCover。

于 2012-09-20T20:43:37.807 回答
0

在 2012 年附带的新 Test Exlorer 中,您可以按“测试结果”、“文件名”等对测试进行分组,但在 RTM 构建组/按“TestCategory”搜索时,测试资源管理器中不存在。但是,命令行和 TeamBuild 中有一个过滤器,基于 VS2012 中的 TestCategory(在 VS 2012 RC 中使用 TestCaseFilter 运行选择性单元测试)。

从 VS Team 的一名成员那里,他们了解了这个缺失功能​​的重要性。它在积压中,应该可以在未来的构建/更新中使用。

于 2012-09-21T20:32:27.410 回答