【问题标题】:Code Coverage in Sonar Builds with MS Build SonarQube Runner v1.0.1使用 MS Build SonarQube Runner v1.0.1 在 Sonar 构建中的代码覆盖率
【发布时间】:2015-09-30 18:26:50
【问题描述】:

我正在尝试使用 MS Build SonarQube Runner v1.0.1 在 Sonar 构建中获取代码覆盖率。我编写了一个从 documentation 逐字复制的脚本,用于从 VSTest 生成代码覆盖率结果,并将其作为构建后脚本运行,将测试 DLL 作为参数传递,并将必要的属性键 (/d:sonar.cs.vscoveragexml.reportsPaths="%CD%\VisualStudio.coveragexml") 添加到开头脚本参数。

脚本运行,生成覆盖二进制文件和覆盖 XML(在 XML 中有有效数据),MS Build SonarQube Runner 运行,统计数据上传到声纳 - 除了代码覆盖结果。我看到它在我设置静态位置时有效,例如C:\tmp\VisualStudio.coveragexml,但在尝试设置多个 Sonar 构建时,这不是一个好方法。

这是 TFS 构建定义的屏幕截图:

这里是 CodeCoverage.bat(按照说明从文档中复制)

"%VSINSTALLDIR%\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe" collect /output:"%CD%\VisualStudio.coverage" "%VSINSTALLDIR%\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" %*

"%VSINSTALLDIR%\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe" analyze /output:"%CD%\VisualStudio.coveragexml" "%CD%\VisualStudio.coverage"

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    %CD% 是一个批处理变量,我不确定它是否会从 TFS 2013 中正确扩展。检查 TFS 2013 是否没有提供可用于计算代码覆盖率绝对路径的环境变量举报:https://msdn.microsoft.com/en-us/library/hh850448.aspx#env_vars

    此外,当您使用 TFS 2013 分析项目时,实际上不需要手动设置 sonar.cs.vscoveragexml.reportsPaths(或手动将二进制覆盖率报告转换为 XML) - 请参阅 https://github.com/SonarSource/sonar-.net-documentation/blob/master/doc/analyze-from-tfs.md(“可选 - 配置代码覆盖”)

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 2016-03-06
      • 1970-01-01
      • 2013-11-28
      • 2012-06-30
      • 2017-09-01
      • 2014-03-26
      • 2018-01-24
      • 1970-01-01
      相关资源
      最近更新 更多