Я пытаюсь настроить VSTS Build для запуска наших интеграционных тестов и создания HTML-отчета о покрытии кода. Для этого я использую плагин Coverlet и ReportGenerator. Вот как я сейчас сконфигурировал мою сборку:
pool:
name: Hosted VS2017
demands:
- msbuild
- visualstudio
steps:
- task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.7.1'
inputs:
versionSpec: 4.7.1
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: '$(Parameters.solution)'
- task: VSBuild@1
displayName: 'Build solution'
inputs:
solution: '$(Parameters.solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
- task: DotNetCoreCLI@2
displayName: 'Run Integration Tests'
inputs:
command: test
arguments: '-c $(BuildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)\TestResults\Coverage\ --no-build'
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@1
displayName: ReportGenerator
inputs:
reports: '$(Build.SourcesDirectory)\TestResults\Coverage\coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)\coveragereport'
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage results'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)\coveragereport\Cobertura.xml'
reportDirectory: '$(build.sourcesdirectory)\src\target\reports\coverage'
- task: PublishSymbols@1
displayName: 'Publish symbols path'
inputs:
SearchPattern: '**\bin\**\*.pdb'
continueOnError: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: '$(Parameters.ArtifactName)'
Я не уверен, где я делаю ошибку, но сборка завершается без ошибок, и все же я не вижу ничего на вкладке покрытия кода. Не могли бы вы объяснить, что мне не хватает?