【发布时间】:2021-12-29 12:34:14
【问题描述】:
目前,我们正在迁移到 AzureDevOps。我们有一些在代理上失败的单元测试,但我们没有能力立即修复它们。在我们修复它们之前,我们希望将它们从管道中排除并设置一个所有测试都应该通过的策略,然后一个一个地修复它们。
我说,我有 4 个 exe,分别是 ABE_uTest.exe、BBE_uTest.exe、CBE_uTest.exe 和 DBE_uTest.exe。我想排除 BBE 和 CBE。在文档页面 (AzureDevOps VsTest) 上,我找到了如何排除文件。
testAssemblyVer2: | # 当 testSelector == TestAssemblies 时需要
# *test.dll
# !*TestAdapter.dll
# !\obj*
所以我假设只需 *_uTest.exe !BBE* !CBE* 就可以了。但我错过了一些东西,因为我无法让它发挥作用。要么什么都不过滤,要么什么都过滤。这是yaml的对应部分。
- task: VSTest@2
displayName: VsTest - testAssemblies
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: '*_uTest.exe
!*BBE*'
searchFolder: '$(BuildPlatform)_$(BuildConfiguration)\testbin\'
testAssemblyVer2 将是设置。我只尝试了一个排除二进制文件以使其更简单。我尝试在开头和结尾使用和不使用' 字符。也尝试在一行和单独的行中但没有成功。我总是收到这条消息:
##[warning]No test sources found matching the given filter '*_uTest.exe !BBE_uTest.exe'
使用 yaml 在 AzureDevOps 中排除文件的正确语法是什么?
【问题讨论】:
-
“没有成功”是什么意思?它还在运行测试吗?它是否显示错误消息?什么不工作?
-
谢谢@DanielMann 我更新了问题