我已经切换到使用VS 2012,对于大多数部分来说,它很棒。问题是我找不到如何按类别过滤我的单元测试?
假设你已经使用了 TestCategoryAttribute,如下所示:
[TestMethod, TestCategory("MyTestCategory")]
public void MyTest() {}
在"测试资源管理器"窗口中,若要包括特定类别,请在筛选器文本框中键入以下内容: Trait:"MyTestCategory"
若要删除特定类别的测试,请在筛选器文本框中键入以下内容:
-Trait:"MyTestCategory"
您可以筛选出或包含多个类别。 这允许你在"测试资源管理器"窗口中筛选出集成测试和自动化 UI 测试,以便可以更有效地使用"生成后运行测试"。
请参阅此处了解更多信息:http://msdn.microsoft.com/en-us/library/hh270865.aspx#BKMK_Searching_and_filtering_the_test_list
在最新的Visual Studio 2012 CTP中,添加了此功能。测试资源管理器现在可以选择按特征(类别)对测试进行分组,并按特征(类别)进行筛选https://msdn.microsoft.com/en-us/library/hh270865.aspx
一直在寻找此功能,据我所知,您无法按类别过滤。 我尝试使用搜索过滤器类别:"类别名称",但这不起作用。 您似乎可以从命令行 (http://msdn.microsoft.com/en-us/library/dd286683.aspx) 按测试类别运行,并且可以定义要在生成中运行的类别 (http://msdn.microsoft.com/en-us/library/dd286595.aspx),但从 IDE 中似乎无法运行。
我希望尝试Visual Studio 2012的默认测试工具,但由于我对测试类别的依赖,唯一的选择似乎是第三方商业工具,例如JetBrains dotCover。
在 2012 附带的新 Test Exlorer 中,您可以按"测试结果"、"文件名"对测试进行分组,...等,但在 RTM 构建组/按"测试类别"搜索中不存在测试资源管理器。但是,在VS2012中,命令行和TeamBuild中有一个基于TestCategory的过滤器(使用TestCaseFilter在VS 2012 RC中运行选择性单元测试)。
从VS Team的一名成员那里,他们了解了这个缺失功能的重要性。它位于积压工作中,并且应该在以后的构建/更新中可用。