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

Visual Studio 2022社区版Fine Code Coverage使用疑问求助

Fine Code Coverage (v1.1.191) RunMsCodeCoverage 设置解析(VS2022社区版)

环境背景

  • Visual Studio 2022 社区版
  • Fine Code Coverage (FCC) 版本 1.1.191
  • 解决方案包含多个xUnit测试项目
  • 测试通过Visual Studio测试资源管理器运行(非xUnit测试运行器)

RunMsCodeCoverage 各选项实际行为与要求

1. No

  • 实际行为:FCC 采用自身默认的覆盖率收集逻辑,不依赖MS Code Coverage组件,稳定生成覆盖率报告。
  • 使用建议:不需要MS Code Coverage特定功能时,选这个最省心。

2. IfInRunSettings

  • 文档描述:仅当项目存在配置了MS数据收集器的runsettings文件时,才处理MS Code Coverage结果。
  • 社区版实际行为:即使没有runsettings文件,依然能正常生成覆盖率输出。
  • 原因:社区版里,FCC会自动 fallback 到自身的覆盖率收集逻辑,而非严格卡MS Code Coverage的配置。这个选项在社区版下的实际效果是:优先用MS Code Coverage(如果有配置),没有的话就用FCC自己的逻辑。

3. Yes

  • 文档描述:没有runsettings时,FCC会自动生成配置,使用MS Code Coverage收集数据。
  • 社区版实际行为:无runsettings时没有输出,FCC输出窗口提示No cobertura files for ms code coverage。
  • 原因:Visual Studio社区版没有预装完整的MS Code Coverage数据收集组件,没法支持自动生成配置并运行MS Code Coverage的流程。这个选项只有在VS企业版里才能按文档描述工作,因为企业版自带完整的MS Code Coverage工具链。

社区版使用建议

  • 追求稳定的话,直接用No或IfInRunSettings即可。
  • 如果一定要用MS Code Coverage功能,需要手动创建runsettings文件并配置MS数据收集器,再把RunMsCodeCoverage设为Yes或IfInRunSettings。核心配置示例:
<RunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        <Configuration>
          <CodeCoverage>
            <ModulePaths>
              <Include>
                <ModulePath>.*YourProjectAssembly.dll$</ModulePath>
              </Include>
            </ModulePaths>
          </CodeCoverage>
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
</RunSettings>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:30:43