Как выйти из строя конвейер AzureDevops, если тестовые файлы не найдены

У меня в конвейере есть следующая задача DotNet Test

          displayName: 'unit tests'
          inputs:
              command: test
              projects: '**/*Unit*.csproj'
              publishTestResults: true
              arguments: '/p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=results/'

Как я могу вывести конвейер из строя, если ни один файл не соответствует шаблону проекта: '**/*Unit*.csproj'? В настоящее время он отображает текущее сообщение об ошибке и переходит к следующей задаче.

##[warning]Project file(s) matching the specified pattern were not found.


person RedRose    schedule 07.05.2021    source источник
comment
Есть ли какие-нибудь обновления об этом билете? Не стесняйтесь сообщить мне, может ли это предложение помочь вам. Напомню, что это.   -  person Kevin Lu-MSFT    schedule 14.05.2021


Ответы (3)


Если у вас есть этапы в вашем конвейере yaml, вы можете сделать что-то вроде этого, это не будет запускать следующий этап, если предыдущий этап не удался.

stages:
- stage: unittests
  displayName: 'unit tests'

- stage: nextstage
  dependsOn: unittests
  displayName: 'unit tests'
person Zeeshan Abbas    schedule 07.05.2021
comment
Добро пожаловать, SO Zeeshan Abbas! Спасибо за ответ, но это решение работает только в том случае, если тесты не пройдут на предыдущем этапе. На данный момент задача выполняется, даже если тестовые файлы не найдены. - person RedRose; 07.05.2021
comment
Спасибо @RedRose - не уверены, что приведенное ниже может быть вам полезно? stackoverflow.com/questions/55807281/ stackoverflow.com/questions/51790735/ - person Zeeshan Abbas; 08.05.2021

Используйте Visual Studio Тестовая задача. У него есть параметр minimumExpectedTests, поэтому, если вы установите его в 1, задача завершится ошибкой, если будет запущено 0 тестов.

person Daniel Mann    schedule 08.05.2021

Насколько мне известно, мы не можем поставить саму задачу по отказу конвейера, если он не может найти файл.

Для обходного пути:

Вы можете использовать задачу Проверка качества сборки из расширения проверки качества сборки.

Эта задача может сканировать все поставленные задачи и проверять предупреждения. Если количество предупреждений превышает установленный верхний предел, конвейер выйдет из строя.

введите описание изображения здесь

Результат:

введите описание изображения здесь

person Kevin Lu-MSFT    schedule 11.05.2021