How to generate code coverage report for asp.net unit tests in Azure DevOps build

后端 未结 1 1501
星月不相逢
星月不相逢 2020-12-16 07:27

I need guidance in generating code coverage report of Asp.net unit tests in azure build pipeline. My project is based on .Net Framework 4.6.

I am able to run all the

相关标签:
1条回答
  • 2020-12-16 07:59

    To get the Code Coverage results in .Net framework you just need to enable it in the "Visual Studio Test" task:

    If you are use .yml builds the syntax is:

    - task: VSTest@2
      inputs:
        codeCoverageEnabled: true
    

    Results:

    Note: if you use Microsoft Hosted Agent you will see the results, if you use Self Hosted Agent you must Visual Studio Enterprise version to see the Code Coverage results.

    If you want more detailed code coverage report you can use coverlet in .Net framework by install the tool during the pipeline and then generate the report. you can do with a PowerShell script:

    dotnet tool install dotnet-reportgenerator --tool-path . --version 4.0.12
    dotnet tool install coverlet.console --tool-path . --version 1.4.1
    mkdir .\reports
    $unitTestFile = gci -Recurse | ?{ $_.FullName -like "*bin\*test*.dll" }
    $coverlet = "$pwd\coverlet.exe"
    & $coverlet $unitTestFile.FullName --target "dotnet" --targetargs "vstest $($unitTestFile.FullName) --logger:trx" --format "cobertura"
    gci -Recurse |
    ?{ $_.Name -eq "coverage.cobertura.xml"} |
    %{ &"$pwd\reportgenerator.exe" "-reports:$($_.FullName)" "-targetdir:reports" "-reportstypes:HTMLInline;HTMLChart" }
    

    Then add "Publish code coverage" task with these parameters:

    Results:

    0 讨论(0)
提交回复
热议问题