不包含TestCase筛选器在VSTest 16.6.1中不起作用

时间:2020-07-03 15:28:20

标签: .net azure-devops azure-pipelines vstest

根据official TestCase documentation,您可以在TestCase过滤器中使用“不包含”(!〜)过滤器。

我试图在Azure Devops管道中使用此筛选器,但是根据运行该管道时出现的错误,不支持该筛选器:

##[error]Incorrect format for TestCaseFilter Error: Invalid Condition 'FullyQualifiedName!~DSN'. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.

This functionality was added in a 16.0 preview version。 管道正在使用VSTest 16.6.1,如输出中的thes行所示:

C:\agent\_work\_tool\VsTest\16.6.1\x64\tools\net451\Common7\IDE\Extensions\TestPlatform\vstest.console.exe "@C:\agent\_work\_temp\xulnpcmgdnx.tmp"
Microsoft (R) Test Execution Command Line Tool Version 16.6.1

但是,仍然不支持“不包含”运算符。

我尝试过:

  1. 使用VSTest的预览版(16.7)
  2. 在我的VsTest管道任务中使用“ Visual Studio 2019”作为测试平台版本(而不是直接使用VSTest版本)
  3. 使用包含“不含”测试筛选器的VSTest版本,该版本显示与预期完全相同的错误

我很茫然,还有我不知道的其他依赖吗?这可能是Microsoft的问题/错误吗?任何帮助或指示,将不胜感激。

1 个答案:

答案 0 :(得分:0)

此问题可能与您使用的VSTest版本有关。这是我这边的一些测试:

  • 测试执行命令行工具版本15.9.1(托管VS2017代理,失败):

enter image description here

  • 测试执行命令行工具版本16.6.0(在Windows2019上托管,成功):

enter image description here

  • 测试执行命令行工具版本16.7.0-preview-20200519-01(自代理,成功)

enter image description here

enter image description here

所以我建议您首先使用Windows 2019代理运行管道以检查问题是否来自VSTest版本。然后选择正确的版本。