我将属性[TestCategory("Unit")]
分配给我的一系列测试,当我选择在测试资源管理器中按特征分组时,它会显示两个Unit
组,如下所示
我的测试是在三个不同的项目中定义的Unit
属性,并且在几个不同的名称空间中,所以起初我认为这可能是问题所在。但是,第一个Unit
组包含来自两个不同项目的测试,因此不会出现不同项目中的测试总是单独分组。
导致此行为的原因是什么?不应该使用[TestCategory("Unit")]
定义的所有测试都在测试资源管理器中的相同分组下吗?
答案 0 :(得分:2)
我找到了解决方案。
我的解决方案中有三个测试项目,都包含具有[TestCategory("Unit")]
属性的测试方法。其中两个项目引用Microsoft.VisualStudio.QualityTools.UnitTestFramework
(这些项目是在Visual Studio 2015中创建的),其中一个项目引用了Microsoft.VisualStudio.TestPlatform.TestFramework
和Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions
(该项目是在Visual Studio 2017中创建的)。我更改了测试,以便所有三个测试项目都引用Microsoft.VisualStudio.TestPlatform...
库,现在我的测试被正确分类。
Visual Studio必须对测试进行不同的分类,因为TestCategory
属性是在每个项目的不同库中定义的。