【发布时间】: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 构建时,这不是一个好方法。
这里是 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