有没有办法通过属性名称和属性值来过滤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的属性。但我想知道是否有办法只能使用以下内容进行测试:< / p>
[TestPropertyAttribute("B", "1")]
答案 0 :(得分: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")]
所以你可以使用arcodingly过滤器:
Trait:"B" Trait:"001"
<强> 2。如果您正在使用其他特征(TestPropertyAttribute,TestCategory,Priority或Owner),则必须使用自己的TestPropertyAttribute更具体。
假设您还有一个数字属性,可以与您的“B”特征值混淆。因此,您必须将“B”添加到您的特征值,如下所示:
[TestPropertyAttribute("B", "B001")]
所以你可以通过以下方式过滤:
Trait:"B001"
<强>另外强>
建议阅读以下博客,其中包含有关此主题的非常有用的信息: