【问题标题】:How to get Ms test code coverage in sonar using jenkins如何使用詹金斯在声纳中获得 Ms 测试代码覆盖率
【发布时间】:2019-01-13 20:31:14
【问题描述】:

我一直在尝试使用 Jenkins 获得声纳中的代码覆盖率。我已经为 ms 测试代码覆盖率提供了 .run 设置文件,但它仍然没有显示声纳仪表板。

我在我的 jenkins 管道中运行这些命令。 /d:sonar.cs.vscoveragexml.reportsPaths=*.coverage"

我如何生成 codecoveragexml 文件?你能帮我解决这个问题吗..

【问题讨论】:

    标签: visual-studio sonarqube jenkins-pipeline


    【解决方案1】:

    您必须在构建服务器上运行dotnet test 命令,并使用正确的参数来生成覆盖文件。在 Jenkins 中添加以下作为批处理步骤。

    dotnet test --logger "trx;LogFileName=[You project name].trx" --collect "Code Coverage" 
    --results-directory:"[Your project path]\TestResults"
    

    请注意,上述命令中的"Code Coverage" 文本应与run.settings 文件的DataCollector 标记的frieldlyName 属性匹配。

    运行上述命令时,它会创建一个.coverage 文件,您需要将该文件转换为.coveragexml。但是生成的文件会有一个随机的名称,所以你需要先重命名它。

    ren *.coverage [Your project name].coverage
    

    以下命令将.coverage 转换为.coveragexml

    CodeCoverage analyze /output:[Your project name].coveragexml [Your project name].coverage
    

    最后,把这个.coveragexml文件的路径给Sonar:

    sonar.cs.vscoveragexml.reportsPaths=[Your project name].coveragexml
    

    PS:您也可以将.trx 文件提供给您在第一步中创建的Sonar。然后声纳会告诉您更多关于您的测试数量、通过率等信息。

    sonar.cs.vstest.reportsPaths=[Your project name].trx
    

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 2013-05-10
      • 2014-05-03
      • 1970-01-01
      • 2013-10-14
      • 2017-02-11
      • 2016-08-24
      • 1970-01-01
      相关资源
      最近更新 更多