如果天蓝色管道中的“测试失败”,如何使构建管道失败?

时间:2018-10-13 04:48:23

标签: azure-devops azure-pipelines azure-pipelines-build-task

如果单个测试因天蓝色管道失败,我想使构建管道失败。

Azure可以成功检测到我的测试进入了失败状态,但是它为整个构建管道提供了成功状态:

enter image description here

问题是,如果测试阶段失败,如何使azure给出失败的构建状态?

这是我的 azure-pipelines.yml

# Build ASP.NET Core project using Azure Pipelines
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core?view=vsts

pool:
  vmImage: 'Ubuntu 16.04'

variables:
  buildConfiguration: 'Release'

steps:
- script: |
    dotnet build --configuration $(buildConfiguration)
    dotnet test dotnetcore-tests --configuration $(buildConfiguration) --logger trx
    dotnet publish --configuration $(buildConfiguration) --output $BUILD_ARTIFACTSTAGINGDIRECTORY

- task: PublishTestResults@2
  inputs:
    testRunner: VSTest
    testResultsFiles: '**/*.trx'

- task: PublishBuildArtifacts@1

3 个答案:

答案 0 :(得分:3)

尝试在任务输入中添加failOnStandardError: 'true'

- task: PublishTestResults@2
  inputs:
    testRunner: VSTest
    testResultsFiles: '**/*.trx'
    failOnStandardError: 'true'

答案 1 :(得分:0)

最初的答案对我不起作用,但似乎上面有a lot of discussion,现在有一个failedTaskOnFailedTest参数可以完成任务。似乎可行。


- task: PublishTestResults@2
  inputs:
    testRunner: VSTest
    testResultsFiles: '**/*.trx'
    failedTaskOnFailedTest: true

我仍然感到惊讶,这不是默认行为。

答案 2 :(得分:0)

取消选中下面突出显示的选项

enter image description here