Sonar中的代码覆盖率使用MS Build SonarQube Runner v1.0.1构建

时间:2015-09-30 18:26:50

标签: sonarqube

我正在尝试使用MS Build SonarQube Runner v1.0.1在Sonar版本中获取代码覆盖率。我写了一个从documentation逐字复制的脚本,用于生成VSTest的代码覆盖率结果,我将其作为Post-Build脚本运行,将测试DLL作为参数传入,并添加必要的属性键(TaggedMapOutput )到开头的脚本参数。

运行脚本,生成coverage二进制和coverage XML(使用XML中的有效数据),运行MS Build SonarQube Runner,并将统计信息上载到Sonar - 代码覆盖率结果除外。当我设置静态位置时,我看到它有效,例如/d:sonar.cs.vscoveragexml.reportsPaths="%CD%\VisualStudio.coveragexml",但在尝试设置许多Sonar版本时,这不是一个好方法。

以下是TFS构建定义的屏幕截图: enter image description here

这是CodeCoverage.bat(从文档中复制而来)

C:\tmp\VisualStudio.coveragexml

1 个答案:

答案 0 :(得分:1)

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

此外,当您使用TFS 2013分析项目时,实际上并不需要手动设置sonar.cs.vscoveragexml.reportsPaths(或手动将二进制覆盖率报告转换为XML) - 请参阅{{3 ("可选 - 配置代码覆盖率")