如何在TeamCity的Visual Studio Tests构建步骤中运行单个测试?
如何在TeamCity的Visual Studio Tests步骤中运行特定名称的测试
当然可以实现!在TeamCity里针对Visual Studio Tests步骤指定单个/特定名称的测试,其实和你在Visual Studio里右键运行测试的逻辑是相通的,主要有两种常用方式:
方法1:使用测试过滤器(推荐)
在TeamCity的Visual Studio Tests构建步骤中,找到Test filter criteria(不同TeamCity版本可能叫“Test names filter”或类似名称)的配置项,这里可以输入VSTest的过滤表达式来精准定位测试:
- 精确匹配单个测试方法:使用
FullyQualifiedName指定测试的完整命名空间+类名+方法名,比如:FullyQualifiedName=MyProject.Tests.CalculatorTests.CalculateTotal_ValidInputs_ReturnsCorrectValue - 模糊匹配包含特定名称的测试:用
~代替=,比如要运行所有名称包含CalculateTotal的测试:Name~CalculateTotal - 同时指定多个测试:用
|分隔不同的过滤条件,比如:FullyQualifiedName=MyProject.Tests.CalculatorTests.CalculateTotal_ValidInputs_ReturnsCorrectValue | FullyQualifiedName=MyProject.Tests.CalculatorTests.CalculateTotal_NegativeInputs_ReturnsZero
方法2:通过命令行参数指定
如果需要更灵活的控制,可以在Visual Studio Tests步骤的Additional command line arguments中直接传入VSTest的原生参数:
- 指定单个测试:
/Tests:"MyProject.Tests.CalculatorTests.CalculateTotal_ValidInputs_ReturnsCorrectValue" - 指定多个测试:用逗号分隔完全限定名:
/Tests:"MyProject.Tests.CalculatorTests.CalculateTotal_ValidInputs_ReturnsCorrectValue, MyProject.Tests.CalculatorTests.CalculateTotal_NegativeInputs_ReturnsZero"
小提示
- 你可以在Visual Studio中找到测试的完全限定名:右键测试方法 → 选择“属性”,在属性窗口里就能看到完整的名称,直接复制过来用就不会出错。
- 对于
[DataTestMethod],如果要运行特定数据行的测试,需要在完全限定名后加上数据行的标识,比如:FullyQualifiedName=MyProject.Tests.CalculatorTests.AddNumbers_DataTest (1,2,3)
内容的提问来源于stack exchange,提问作者BaltoStar
相关产品推荐
相关产品推荐

