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
我做了什么:
- 已尝试包含源代码:**/*.cs
- 尝试过的测试包含:**/*.cs
- 两者同时进行。
- 更具体地指出我想要包含的确切文件
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
的项目很可能会被视为测试项目和一些规则会有所不同。
我有一个名为 TestCommander 的项目,它不是一个测试项目,而是一个帮助组织内的人更轻松地编写集成测试的产品。
显然我想分析这段C#代码。但是现在它似乎被 SonarQube 忽略了,因为它被命名为 Test*,正确评估?
结构是这样的:
CompanyName.TestCommander
- Commands
- HttpGetCommand.cs
- ...
- TestScanner.cs
- TestRunner.cs
- CompanyName.TestCommander.csproj
我做了什么:
- 已尝试包含源代码:**/*.cs
- 尝试过的测试包含:**/*.cs
- 两者同时进行。
- 更具体地指出我想要包含的确切文件
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
的项目很可能会被视为测试项目和一些规则会有所不同。