如何从解决方案的角度正确配置SonarQube MSBuild扫描仪?

时间:2018-01-05 21:47:24

标签: c# .net sonarqube

我正在配置MSBuild扫描程序以针对C#解决方案运行。我也通过dotCover运行代码覆盖,但它正在运行。从根本上说,问题是 - 1.通用测试执行报告解析器认为路径不正确2. SonarQube重复解析测试执行报告(这对我来说不那么重要)。

我的解决方案结构类似于

<html><head>

</head><body>
    <div class="parent">
        <div class="child"></div>
        <div class="child">Text1</div>
        <div class="child"></div>
        <div class="child">Text2</div>
    </div>
</body></html>

这允许我运行一系列看起来像这样的命令:

    (CWD from Jenkins' perspective) Source/
    Source/my.Sln
    Source/Proj1/Proj1.csproj
    Source/Proj1.Tests/Proj1.Tests.csproj

我看到的具体错误是“为2个未知文件忽略测试执行数据,包括:”。无论路径是否绝对,都会发生这种情况。在这里,我看到每个项目的“convertedXml”文件都被解析,无论该文件是否属于正在进行后处理的项目。

我尝试了一些我在网上找到的东西,比如将我的“Source”目录重命名为其他东西。我担心我需要编写一个脚本,一次需要一个特定的csproj来解析,并且必须在我的解决方案中维护csproj的列表。理想情况下,这是可以避免的。

1 个答案:

答案 0 :(得分:0)

如果您尝试将 trx 数据解析为通用测试数据以提供给 SonarCloud,您可以使用此 dotnet 工具:https://github.com/gmarokov/dotnet-trx2sonar

只需记住在传递报告路径时使用 sonar.testExecutionReportPaths