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

如何通过runsettings文件将迁移文件夹排除在代码覆盖率分析结果之外

配置失效原因&解决方案

你之前的配置未生效主要有两个原因:

  1. 正则表达式写法不规范,.*\.Data.Migrations\..** 末尾的.**属于错误的正则语法,无法匹配到完整的类路径
  2. 仅使用<Function>节点匹配稳定性不足,容易出现遗漏,推荐搭配多维度规则提升可靠性

修正后的完整配置

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
    <DataCollectionRunSettings>
        <DataCollectors>
            <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
                <Configuration>
                    <CodeCoverage>
                          <!-- 保留你原有的其他配置项 -->
                          <!-- 按命名空间排除,最直观可靠 -->
                          <Namespaces>
                              <Exclude>
                                  <Namespace>MySolution.Data.Migrations.*</Namespace>
                              </Exclude>
                          </Namespaces>
                          <!-- 修正正则后的函数匹配规则,作为补充校验 -->
                          <Functions>
                              <Exclude>
                                  <Function>^MySolution\.Data\.Migrations\..*$</Function>
                              </Exclude>
                          </Functions>
                          <!-- 按目录排除,避免命名空间和文件目录不一致的特殊情况 -->
                          <SourceFiles>
                              <Exclude>
                                  <SourceFile>.*\\Migrations\\.*\.cs$</SourceFile>
                              </Exclude>
                          </SourceFiles>
                    </CodeCoverage>
                </Configuration>
            </DataCollector>
        </DataCollectors>
    </DataCollectionRunSettings>
</RunSettings>

生效前检查项

  • Visual Studio环境下运行测试,需要先将该文件设置为活动运行配置:顶部菜单 > 测试 > 配置运行设置 > 选择解决方案中的文件,选中你编写的codecoverage.runsettings
  • 命令行执行dotnet test时,需要指定配置文件参数:dotnet test --settings codecoverage.runsettings
  • 清理之前生成的测试缓存和旧的覆盖率结果文件,重新运行测试生成新的报告即可

内容的提问来源于stack exchange,提问作者Ramin Bateni Parvar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:36:04