如何使 Sonarqube 从覆盖度量中排除 .NET (C#) 项目

How to make Sonarqube exclude a .NET (C#) project from coverage measures(如何使 Sonarqube 从覆盖度量中排除 .NET (C#) 项目)
本文介绍了如何使 Sonarqube 从覆盖度量中排除 .NET (C#) 项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Sonarqube allows for individual files to be excluded from code coverage by adding patterns in the sonar.coverage.exclusions key. This can be done on a project level by adding them in the UI and even in a .csproj file by specifying a SonarQubeSetting element. I.e.

<SonarQubeSetting Include="sonar.coverage.exclusions"><值>**/*.cs</值></SonarQube 设置>

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

However, both of these approaches don't seem to work. Playing with the patterns, as specified in the SonarQube documentation doesn't provide the desired result. I'm also aware of the existence of the SonarQubeExclude MSBuild property, but I don't want to go down that path as it would exclude my project from all other analysis.

还有另一种我失踪的可能性吗?还是根本不可能将项目中的所有类都排除在代码覆盖范围之外?

Is there another possibility that I'm missing? Or is it simply not possible to exclude all of the classes within a project from code coverage?

推荐答案

总结上面的答案,也加一点.

Summing up the above mentioned answers and also adding one point to it.

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

  1. To exclude a project from SonarQube Analysis from csproj we can achieve by adding the below code in .csproj of that project

<PropertyGroup>
<!-- Exclude the project from analysis -->
<SonarQubeExclude>true</SonarQubeExclude>
</PropertyGroup>

  • 从项目中排除文件

  • To exclude a file from a project

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

  • 对于多个文件

  • And for multiple files

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

  • 也可以参考 正则表达式模式 使用过

    这篇关于如何使 Sonarqube 从覆盖度量中排除 .NET (C#) 项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

    本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

    相关文档推荐

    DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
    Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
    Programmatically show the desktop(以编程方式显示桌面)
    c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
    InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
    LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)
    5