如何运行所有未标记任何特性的单元测试?
问题:使用VSTest筛选无TestCategory特性的测试用例
使用VSTest运行测试时,可借助/TestCaseFilter选项选择带有特定特性的测试。例如,以下命令可选中所有标记为Slow的单元测试:
/TestCaseFilter:"TestCategory=Slow"
但我希望选择未标记任何特性的单元测试——常规单元测试无特性,仅特殊测试有特性,PR构建时仅需运行常规测试。我尝试了以下命令,但均无效:
/TestCaseFilter:"TestCategory=" /TestCaseFilter:"TestCategory=''"
我知道可使用如下命令,但新增特性时需手动更新:
/TestCaseFilter:"TestCategory!=A & TestCategory !=B & etc."
请问是否有更合适的方法?
解决方案
你可以使用IsNull运算符来筛选未标记任何TestCategory特性的测试用例,这是最简洁且无需后续维护的方案,命令如下:
/TestCaseFilter:"TestCategory IsNull"
这个筛选器会匹配所有未设置TestCategory属性的测试,无论后续新增多少种特性,都不需要修改命令,完全适配PR构建仅运行常规测试的需求。
内容的提问来源于stack exchange,提问作者E_FAIL
相关产品推荐
相关产品推荐

