我有一个YAML管道,它构建我的代码并运行一些测试。我的代码库相当庞大,并且充满了失败的单元测试的奇怪遗留代码。这就是为什么我只想跟踪代码中的新错误,而那些遗留错误应该被忽略。
- script: "nunit3-console.exe" MyAssembly.dll
displayName: 'Run unit-tests'
failOnStderr: false
continueOnError: true 在执行该脚本时,我获得了部分成功的构建,因为nunit的退出代码为5:

由于我只希望新的错误使构建失败,我还实现了一个质量门:
- task: BuildQualityChecks@8
displayName: 'Check for test-errors'
inputs:
checkWarnings: true
warningFailOption: 'build'
warningTaskFilters: '/^Run unit-tests$/i'
warningFilters: |
/\d+\) Error :/i
/\d+\) Failed :/i但是,由于前面的任务,整个构建仍然“部分成功”。是否有任何方法可以忽略Run unit-tests-task的结果,就像我在质量关通道中管理它们一样?
发布于 2021-09-29 10:54:09
您可以为脚本任务设置退出代码:
- script: |
"nunit3-console.exe" MyAssembly.dll
exit 0
displayName: 'Run unit-tests'
failOnStderr: false现在这个任务总是成功的。请注意,我还添加了continueOnError-property,因为该任务从未产生任何错误。
发布于 2022-09-16 16:19:50
您可以通过从python调用它来完成。
- script: python -c "import os; os.system('nunit3-console.exe MyAssembly.dll'); print('FINISHED')"
displayName: 'Run unit-tests'
failOnStderr: false
continueOnError: true 这个任务只是成功的,也是当有错误时。
https://stackoverflow.com/questions/69363789
复制相似问题