Как завершить сборку конвейера, если "Тесты не пройдены" в лазурных конвейерах?

Я хочу потерпеть неудачу в конвейере сборки, если ни один тест не прошел с лазерами Azure,
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

заранее спасибо

1 ответ

Оригинальный ответ не работал для меня, но похоже, что было много дискуссий по этому вопросу, и теперь есть failedTaskOnFailedTest парам для задачи. Это похоже на работу.


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

Я все еще удивлен, что это не было поведением по умолчанию.

Попробуй добавить failOnStandardError: 'true' в входных данных задачи:

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

Снимите флажок с выделенной ниже опции

Другие вопросы по тегам