【问题标题】:TFS with SonarQube, no product projects, only test projects带有 SonarQube 的 TFS,没有产品项目,只有测试项目
【发布时间】:2016-01-01 17:31:47
【问题描述】:

我已经按照安装指南在我的本地开发机器上安装了 SonarQube:

SonarQube Installation Guide for Existing TFS Environment.pdf.

构建成功。该项目已添加到仪表板。但只有测试覆盖数据。

我的解决方案中有 4 个项目,其中 2 个是单元测试项目。 SonarQube 日志的构建发现有 4 个测试项目,没有产品项目:

SonarQube Analysis Summary
Analysis succeeded for SonarQube project "ConsoleApplication", version 1.0 (Analysis results)
  Product projects: 0, test projects: 4
  Invalid projects: 0, skipped projects: 0, excluded projects: 0

据我所见并检查过,我在每一点上都遵循了手册。 有没有我遗漏的设置导致零产品项目?

【问题讨论】:

    标签: sonarqube tfsbuild sonarqube-msbuild-runner


    【解决方案1】:

    事实证明,MsBuild 运行程序会查看您项目的完整路径,以确定它是否为测试项目。因此,如果您的构建代理名称或构建定义名称或指向您的项目文件的任何文件夹中包含“test”一词,则所有项目都将被视为测试。

    正如离线讨论的那样,在您的情况下,它是构建定义名称。将其重命名为不命名为“SonarQubeTestBuild”解决了该问题。

    【讨论】:

    • 请注意,有一个可配置的正则表达式属性,您可以更改该属性以调整您希望如何检测测试项目:sonar.cs.msbuild.testProjectPattern,其默认值确实只是 .*test.*
    • 找到了。在这种情况下,.*/[^/]*Tests[^/]*\.[^/]*$ 对我们来说是有意义的。默认行为有点奇怪,如果任何不在解决方案目录中的路径或者默认情况下会被排除在外,那就太好了。
    • 那个属性在哪里?我的意思是哪个文件拥有该属性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2018-01-05
    • 2019-11-30
    • 2018-06-29
    • 2020-09-22
    • 2022-01-19
    • 2012-03-24
    相关资源
    最近更新 更多