Visual studio 2012 在visual studio 2012的测试资源管理器中按属性名称和值筛选单元测试

Visual studio 2012 在visual studio 2012的测试资源管理器中按属性名称和值筛选单元测试,visual-studio-2012,test-explorer,Visual Studio 2012,Test Explorer,是否有一种方法可以根据属性名和属性值在visual studio 2012的测试资源管理器中筛选测试。考虑以下4个不同测试的性质: [TestPropertyAttribute("A", "1")] [TestPropertyAttribute("B", "1")] [TestPropertyAttribute("A", "2")] [TestPropertyAttribute("B", "2")] 是否有一个表达式可以放在测试资源管理器筛选器栏中,该表达式仅用于测试具有值为1的属性B的

是否有一种方法可以根据属性名和属性值在visual studio 2012的测试资源管理器中筛选测试。考虑以下4个不同测试的性质:

[TestPropertyAttribute("A", "1")]

[TestPropertyAttribute("B", "1")]

[TestPropertyAttribute("A", "2")]

[TestPropertyAttribute("B", "2")]
是否有一个表达式可以放在测试资源管理器筛选器栏中,该表达式仅用于测试具有值为1的属性B的测试?类似于:
trait:B=1

我知道我可以使用
trait:B
来显示定义了属性B的所有测试,或者显示值设置为B的属性。但是我想知道是否有办法只让测试装饰为:

[TestPropertyAttribute("B", "1")]

没有直接的方法可以做到这一点,但是有几种变通方法可以用来满足您的需求

1。如果您的测试没有任何其他特征(TestPropertyAttribute、TestCategory、Priority或Owner),您可以通过定义如下两个过滤器来实现:

Trait:"B" Trait:"1"
但您必须小心,因为该过滤器还将返回所有这些测试:

[TestPropertyAttribute("B", "1")]
[TestPropertyAttribute("B", "10")]
[TestPropertyAttribute("B", "100")]
[TestPropertyAttribute("B", "21")]
[TestPropertyAttribute("B", "31")]
因此,在这种情况下,您需要添加一些前导零来解决问题:

[TestPropertyAttribute("B", "001")]
[TestPropertyAttribute("B", "010")]
[TestPropertyAttribute("B", "100")]
因此,您可以将Arcoding与过滤器一起使用:

Trait:"B" Trait:"001"
2。如果您正在使用其他特性(TestPropertyAttribute、TestCategory、Priority或Owner),则必须更具体地使用您自己的TestPropertyAttribute。

假设您还有一个数字属性,它可能与您的“B”特征值混淆。因此,你必须将“B”添加到你的特质值中,如下所示:

[TestPropertyAttribute("B", "B001")]
因此,您可以通过以下方式进行过滤:

Trait:"B001"
另外

建议您阅读以下博客,其中包含有关此主题的非常有用的信息: