Сборка Azure DevOps не завершается ошибкой, когда покрытие ниже целевого с помощью теста dotnet - PullRequest
1 голос
/ 17 июня 2019

У меня есть конвейер сборки в DevOps Azure для приложения ASP.NET Core, и я хочу использовать его с критериями для утверждения запросов на извлечение.

steps:
      - script: dotnet restore
        displayName: 'Run command: dotnet restore'

      - script: >
                dotnet test 
                /p:CollectCoverage=true 
                /p:CoverletOutputFormat=cobertura 
                /p:Threshold=80 
                /p:ThresholdStat=total 
                /p:Exclude="[*xunit.*]*"
        displayName: 'Run command: dotnet test'

Я хочу, чтобы когда покрытие кода (с использованием coverlet) не проходило, сборка не удалась. но, несмотря на то, что критерии приемки не пройдены, даже генерируется сообщение журнала, шаг выполняется успешно.

coverlet.msbuild.targets (41,5): ошибка: общее покрытие линии ниже указанного 80 coverlet.msbuild.targets (41,5): ошибка: общее покрытие ветви меньше указанного 80 coverlet.msbuild .targets (41,5): ошибка: общий охват метода ниже указанного 80

Возможно ли в этом случае вызвать сбой?

1 Ответ

0 голосов
/ 17 июня 2019

Попробуйте запустить тесты с задачей DotNetCoreCLI@2, а не с простым script:

- task: DotNetCoreCLI@2
  displayName: 'dotnet test'
  inputs:
    commands: test
    projects: 'path/to/tests/projects'
    arguments: 'p:CollectCoverage=true
 /p:CoverletOutputFormat=cobertura /p:Threshold=80
 /p:ThresholdStat=total /p:Exclude="[*xunit.*]"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...