【问题标题】:SonarQube won't analyze C# project named Test*SonarQube 不会分析名为 Test* 的 C# 项目
【发布时间】:2018-05-12 23:39:02
【问题描述】:

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

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

结构是这样的:

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

我做了什么:

  • 尝试源包含:**/*.cs
  • 尝试过的测试包含:**/*.cs
  • 两者同时进行。
  • 更具体地指出我想要包含的确切文件

这些都不起作用。

我的设置: 内部 SonarQube 6.7 在 TFS 2017.3 中自动构建,VSTS 任务版本为 3.0.2

【问题讨论】:

    标签: c# sonarqube sonarqube-msbuild-runner


    【解决方案1】:

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

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

    【讨论】:

    • 工作。不认为需要在 MSBuild 端进行更改。这在某处有记录吗?
    • @Nings 是的,但很难找到并识别它与同一问题有关...docs.sonarqube.org/display/SCAN/Miscellaneous+Advanced+Usages
    • @Valeri-SonarSource - 您是否为测试项目添加了分析?因为当我在一个测试项目上运行 SonarQube 时,我根本没有得到任何分析......
    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2021-11-24
    • 2018-09-10
    • 2016-06-16
    • 2017-10-22
    • 1970-01-01
    相关资源
    最近更新 更多