You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipelines中VSTest任务如何指定多个测试类别?

解决VSTest任务中NUnit多测试类别的指定问题

我来帮你搞定这个多类别测试运行的问题~你遇到的情况其实是因为VSTest的测试筛选器语法有自己的规则,直接用逗号或单竖线的写法不符合它的解析逻辑,下面给你两种正确的写法:

1. 运行多个类别中的测试(逻辑或:x32 或 x64)

这应该是你需要的场景——只要标记了x32或者x64的测试都要运行,正确的筛选表达式是:

TestCategory=x32|TestCategory=x64

每个类别都要单独声明TestCategory=,用竖线|分隔表示逻辑“或”。

你之前用TestCategory=x32|x64的写法会被VSTest误解为“匹配类别名称是x32|x64的测试”,这种语法错误导致只有x64的测试被误匹配,所以才只跑了x64的测试。

2. 运行同时属于多个类别的测试(逻辑与:x32 且 x64)

如果你的测试有同时标记多个类别的情况,想要只运行同时属于x32和x64的测试,用&分隔:

TestCategory=x32&TestCategory=x64

为什么之前的写法不行?

  • 用TestCategory=x32,x64:VSTest会把整个字符串x32,x64当成一个单独的类别名称,而你的测试里没有这个标签,所以找不到任何匹配的测试,导致执行失败。
  • 用TestCategory=x32|x64:语法不符合VSTest的筛选规则,无法正确解析,只会匹配到不符合预期的测试。

在VSTest任务中配置的方式

不管是Azure DevOps的VSTest任务,还是本地用vstest.console.exe命令行,都把上面的表达式填到测试筛选器(Test Filter criteria)字段/参数里就可以了。

比如命令行的写法:

vstest.console.exe YourTestAssembly.dll /TestCaseFilter:"TestCategory=x32|TestCategory=x64"

内容的提问来源于stack exchange,提问作者sai kartheek challa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:42:39