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