如何在TFS Build中使用包含命名空间的TestCaseFilter排除单元测试

时间:2015-12-03 12:30:17

标签: unit-testing visual-studio-2012 tfs

我想排除名称空间中包含 Abc 的所有测试。

使用的正确模式是什么?

!(FullyQualifiedName~.Abc.) 

无效?

我使用此网页作为参考:http://blogs.msdn.com/b/visualstudioalm/archive/2012/09/26/running-selective-unit-tests-in-vs-2012-using-testcasefilter.aspx

1 个答案:

答案 0 :(得分:1)

构建定义中没有此类模式!(FullyQualifiedName~.Abc.)

在XAML构建定义中使用测试用例过滤器,以根据过滤条件选择要运行的测试。您可以使用运算符格式构建过滤器,其中Operator是 =,!= 之一。您还可以使用逻辑运算符|,&构造用于分组的过滤器和括号()。

要实现您的目标,您可以:

  • 给每个单元测试除了包含“Abc”优先级(可能是1),并给出包含“Abc”优先级的单元测试(也许2)。在测试用例过滤器中,设置“Proirity = 1 *”,然后您可以排除单元测试包含“Abc”。
  • 另一方面,您可以通过测试程序集文件名筛选出不包含“Abc”的单元测试。识别单元测试不包含基于命名模式Def.Tests.dll的“Abc”,然后在测试程序集文件规范中输入“** \ * Def.Tests.dll”。

类似案例:https://social.msdn.microsoft.com/Forums/vstudio/en-US/d415dbdd-74a0-484b-a5ae-e5af3e985e94/how-to-explicitly-exclude-assemblies-in-test-runner-during-tfs-build?forum=tfsgeneral