SonarQube 不会分析名为 Test* 的 C# 项目

SonarQube won't analyze C# project named Test*

我有一个名为 TestCommander 的项目,它不是一个测试项目,而是一个帮助组织内的人更轻松地编写集成测试的产品。

显然我想分析这段C#代码。但是现在它似乎被 SonarQube 忽略了,因为它被命名为 Test*,正确评估?

结构是这样的:

CompanyName.TestCommander
    - Commands
        - HttpGetCommand.cs
        - ...
    - TestScanner.cs
    - TestRunner.cs
    - CompanyName.TestCommander.csproj

我做了什么:

None 个有效。

我的设置: 内部 SonarQube 6.7 使用版本为 3.0.2

的 VSTS 任务在 TFS 2017.3 中自动构建

名称中包含 "Test" 的项目被视为测试项目(例如,仅包含测试),它们的分析结果不会推送到 SonarQube。您可以尝试将 /d:sonar.msbuild.testProjectPattern=<pattern> 添加到 SonarQube.Scanner.MSBuild.exe begin 的参数列表中,或者在您的情况下添加到 Advanced / Additional Settings,其中 <pattern> 是一个与您的测试匹配的 .NET 正则表达式模式项目的名称,但不是您的主要项目。

我们将在不久的将来更改此行为,因为我们想将测试的分析结果推送到 SonarQube,但默认情况下,名称中带有 Test 的项目很可能会被视为测试项目和一些规则会有所不同。