首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有已知错误时,将生成设置为成功

只有已知错误时,将生成设置为成功
EN

Stack Overflow用户
提问于 2021-09-28 14:37:57
回答 2查看 32关注 0票数 0

我有一个YAML管道,它构建我的代码并运行一些测试。我的代码库相当庞大,并且充满了失败的单元测试的奇怪遗留代码。这就是为什么我只想跟踪代码中的新错误,而那些遗留错误应该被忽略。

代码语言:javascript
复制
- script: "nunit3-console.exe" MyAssembly.dll
  displayName: 'Run unit-tests'
  failOnStderr: false
  continueOnError: true            

在执行该脚本时,我获得了部分成功的构建,因为nunit的退出代码为5:

由于我只希望新的错误使构建失败,我还实现了一个质量门:

代码语言:javascript
复制
- 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的结果,就像我在质量关通道中管理它们一样?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-29 10:54:09

您可以为脚本任务设置退出代码:

代码语言:javascript
复制
- script: |
    "nunit3-console.exe" MyAssembly.dll
    exit 0
  displayName: 'Run unit-tests'
  failOnStderr: false

现在这个任务总是成功的。请注意,我还添加了continueOnError-property,因为该任务从未产生任何错误。

票数 0
EN

Stack Overflow用户

发布于 2022-09-16 16:19:50

您可以通过从python调用它来完成。

代码语言:javascript
复制
- script: python -c "import os; os.system('nunit3-console.exe MyAssembly.dll'); print('FINISHED')" 
  displayName: 'Run unit-tests'
  failOnStderr: false
  continueOnError: true        

这个任务只是成功的,也是当有错误时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69363789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档