You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排除指定类的Sonar覆盖率监控,保留其他代码检查

Sonar覆盖率排除方案(保留代码异味检查)

一、单个仓储类通过属性排除

可以给无需测试的仓储类添加[ExcludeFromCodeCoverage]属性(需引用System.Diagnostics.CodeAnalysis命名空间),SonarQube会识别该属性并跳过对这类类的覆盖率统计,但依然会对其进行代码异味、bug等其他规则检查。

示例代码:

using System.Diagnostics.CodeAnalysis;

[ExcludeFromCodeCoverage]
public class UserQueryRepository
{
    // 类实现代码
}

二、按文件名批量排除(XXXXXQueryRepository.cs)

如果所有目标仓储类都遵循*QueryRepository.cs的命名规则,无需逐个添加属性,可通过Sonar的覆盖率专属排除配置实现批量处理:

  • 方式1:在SonarQube项目的网页端设置中,进入「分析范围」→「覆盖率排除」,添加匹配模式:**/*QueryRepository.cs
  • 方式2:在项目根目录的sonar-project.properties文件中添加配置:
sonar.cs.coverage.exclusions=**/*QueryRepository.cs

注意:不要使用全局排除sonar.exclusions,它会完全跳过所有代码分析;而sonar.cs.coverage.exclusions仅排除覆盖率统计,代码异味、安全漏洞等其他检查会正常执行。

内容的提问来源于stack exchange,提问作者Alexa Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:32:38