TFS with SonarQube,没有产品项目,只有测试项目
TFS with SonarQube, no product projects, only test projects
我已经按照安装指南在本地开发机器上安装了 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
据我所知并检查过,我在每一点上都遵循了手册。
是否有任何我错过的设置导致产品项目为零?
事实证明,MsBuild 运行程序会查看项目的完整路径,以查看它是否是测试项目。因此,如果您的构建代理名称或构建定义名称或项目文件前的任何文件夹中包含单词 "test",则所有项目都将被视为测试。
正如离线讨论的那样,在您的情况下,它是构建定义名称。将其重命名为不命名 "SonarQubeTestBuild" 解决了问题。
我已经按照安装指南在本地开发机器上安装了 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
据我所知并检查过,我在每一点上都遵循了手册。 是否有任何我错过的设置导致产品项目为零?
事实证明,MsBuild 运行程序会查看项目的完整路径,以查看它是否是测试项目。因此,如果您的构建代理名称或构建定义名称或项目文件前的任何文件夹中包含单词 "test",则所有项目都将被视为测试。
正如离线讨论的那样,在您的情况下,它是构建定义名称。将其重命名为不命名 "SonarQubeTestBuild" 解决了问题。