gpt4 book ai didi

c# - 如何使 Sonarqube 从覆盖率测量中排除 .NET (C#) 项目

转载 作者:太空狗 更新时间:2023-10-29 20:32:58 24 4
gpt4 key购买 nike

Sonarqube 允许通过在 sonar.coverage.exclusions 键中添加模式来将单个文件排除在代码覆盖范围之外。这可以通过在 UI 中添加它们来在项目级别完成,甚至可以通过指定 SonarQubeSetting 元素在 .csproj 文件中完成。即

<SonarQubeSetting Include="sonar.coverage.exclusions">
<Value>**/*.cs</Value>
</SonarQubeSetting>

但是,这两种方法似乎都不起作用。使用 SonarQube documentation 中指定的模式没有提供所需的结果。我也知道 SonarQubeExclude MSBuild 属性的存在,但我不想走这条路,因为它会将我的项目排除在所有其他分析之外。

是否还有其他可能我遗漏了?还是根本不可能从代码覆盖范围中排除项目中的所有类?

最佳答案

总结以上回答,加一分。

  1. 要从 csproj 的 SonarQube 分析中排除项目,我们可以通过在该项目的 .csproj 中添加以下代码来实现

    <PropertyGroup>
    <!-- Exclude the project from analysis -->
    <SonarQubeExclude>true</SonarQubeExclude>
    </PropertyGroup>
  2. 从项目中排除一个文件

     <ItemGroup>
    <SonarQubeSetting Include="sonar.coverage.exclusions">
    <Value>**/FileName.cs</Value>
    </SonarQubeSetting>
    </ItemGroup>
  3. 对于多个文件

    <ItemGroup>
    <SonarQubeSetting Include="sonar.coverage.exclusions">
    <Value>**/FileName1.cs, **/FileName2.cs</Value>
    </SonarQubeSetting>
    </ItemGroup>

也可以引用这个regex patterns用过

关于c# - 如何使 Sonarqube 从覆盖率测量中排除 .NET (C#) 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47939122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com