【问题标题】:Publish Code Coverage result Azure DevOps发布代码覆盖率结果 Azure DevOps
【发布时间】:2021-05-25 09:15:12
【问题描述】:

我正在尝试在 Azure DevOps 中发布 .NET 框架 4.6.1 的代码覆盖率结果。我正在使用 Visual Studio 测试任务来运行单元测试用例并获取代码覆盖率。成功执行 Visual Studio 测试任务后,我在“.coverage 文件”中获得了代码覆盖率结果。我在笔记本电脑的 Visual Studio 中打开了覆盖率文件,并验证它显示了单元中覆盖和未覆盖的行数测试。

使用 vstest.console.exe 我将覆盖文件转换为 xml 并使用报告生成器发布代码覆盖结果。

成功完成上述步骤后,当我单击代码覆盖率选项卡时,我会看到 html 链接以下载覆盖率文件。我想在代码覆盖选项卡本身中发布覆盖文件。

我也试过这个other similar problem,当我尝试时,我得到一个 1kb 的coverage.cobertura.xml 没有关于单元测试中涵盖的代码的任何详细信息。

&dotnet tool install dotnet-reportgenerator-globaltool --tool-path . --version 4.0.12
&dotnet tool install coverlet.console --tool-path . --version 1.4.1

"`nmake reports dir:"
mkdir .\reports

"`nrun tests:"
$unitTestFile = gci -Recurse | ?{ $_.FullName -like "*bin\*UnitTestProject2.dll" }
Write-Host "`$unitTestFile value: $unitTestFile"

$coverlet = "$pwd\coverlet.exe"

"calling $coverlet for $($unitTestFile.FullName)"
&$coverlet $unitTestFile.FullName --target "dotnet" --targetargs "vstest $($unitTestFile.FullName) --logger:trx" --format "cobertura"

"`ngenerate report(s)"
gci -Recurse | 
    ?{ $_.Name -eq "coverage.cobertura.xml" } | 
    %{ &"$pwd\reportgenerator.exe" "-reports:$($_.FullName)" "-targetdir:reports" "-reporttypes:HTMLInline;HTMLChart" } 

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    您是否将Publish code coverage 任务添加到管道?代码覆盖率选项卡仅支持Jacoco或Cobertura格式的代码覆盖率数据,*.coverage文件的结果不能以表格和图表的形式显示。

    使用这些参数添加“发布代码覆盖率”任务:

    这里有一些类似问题的票(case1,case2)可以参考。

    【讨论】:

    • 当我运行 Coverlet 命令时 & $coverlet $unitTestFile.FullName --target "dotnet" --targetargs "vstest $($unitTestFile.FullName) --logger:trx" --format "cobertura" 单元测试未执行并获取 No test is available in E:\test\_work\4\s\CUnitTest\bin\Release\CUnitTest.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again
    • stackoverflow.com/questions/66332369/… 我也提出了一个单独的 stackoverflow 问题
    猜你喜欢
    • 2022-01-12
    • 2020-04-29
    • 1970-01-01
    • 2021-02-11
    • 2021-08-13
    • 2023-03-23
    • 2021-01-17
    • 2022-08-09
    • 2020-07-08
    相关资源
    最近更新 更多