Я создал конвейер сборки в Azure DevOps для одного из моих ASP. NET MVC приложений. Существуют проекты для модульного тестирования, и мне нужно сгенерировать отчет о покрытии кода, для которого я использовал пакет NuGet coverlet.msbuild и «ReportGenerator».
Ниже приведен файл packages.config одного из проектов модульного тестирования:
<packages>
<package id="coverlet.msbuild" version="2.8.0" targetFramework="net461" developmentDependency="true" />
<package id="NUnit" version="2.6.3" targetFramework="net45" />
<package id="ReportGenerator" version="4.4.6" targetFramework="net461" />
</packages>
Кроме того, вы можете найти список решений Build, тестовых сборок и ReportGenerator в конвейере сборки:
Построение решения:
steps:
- task: VSBuild@1
displayName: 'Build solution **\SmartStoreNET.sln'
inputs:
solution: '**\SmartStoreNET.sln'
msbuildArgs: '/p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'
Испытательные сборки
steps:
- task: VSTest@2
displayName: 'Test Assemblies'
inputs:
testAssemblyVer2: |
**\$(BuildConfiguration)\*test*.dll
!**\obj\**
codeCoverageEnabled: true
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
Генератор отчетов
steps:
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
displayName: ReportGenerator
inputs:
reports: '$(Build.SourcesDirectory)/tests/**/coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)/CodeCoverage'
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
При выполнении конвейера я получаю следующую ошибку в задаче ReportGenerator:
Шаблон файла отчета 'd: \ a \ 1 \ s / tests / ** / покрытие. cobertura. xml 'недействительно. Подходящих файлов не найдено.
Может кто-нибудь подсказать, что здесь отсутствует, или что может быть потенциальной проблемой.
Любая помощь по этому вопросу будет принята с благодарностью.
Спасибо,
Нирман