Token导航 LogoToken导航

Agent Skill · 研究检索

dotnet-testing-code-coverage-analysis(dotnet 测试代码覆盖率分析)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

dotnet-testing-code-coverage-analysis 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为调用外部服务;许可证为 MIT,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 48,496。

总安装 685周安装 28GitHub Stars 24下载 220核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dotnet-testing-code-coverage-analysis(dotnet 测试代码覆盖率分析)
来源仓库:https://github.com/kevintsengtw/dotnet-testing-agent-skills
仓库路径:skills/dotnet-testing-code-coverage-analysis
安装命令:
npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --skill dotnet-testing-code-coverage-analysis
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --skill dotnet-testing-code-coverage-analysis

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

dotnet-testing-code-coverage-analysis 测量测试执行的实际代码覆盖程度。识别未覆盖分支与复杂逻辑路径,辅助评估测试完整性。集成 Fine Code Coverage 插件实现编辑器内实时可视化标注。需配置 Coverlet 收集器并在 CI 流水线中生成 HTML 报告。

高覆盖率不等于高质量,应重点关注关键业务逻辑而非追求数字指标。

来源仓库内路径:skills/dotnet-testing-code-coverage-analysis

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --ski…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要调用外部服务,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

dotnet-testing-code-coverage-analysis 怎么安装?

在终端执行 npx skills add https://github.com/kevintsengtw/dotnet-testing-agent-skills --skill dotnet-…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

dotnet-testing-code-coverage-analysis 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

dotnet-testing-code-coverage-analysis 需要什么权限?

权限级别是调用外部服务。该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

dotnet-testing-code-coverage-analysis 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

dotnet-testing-code-coverage-analysis 用的人多吗?

公开数据是累计安装 685 次,近一周安装 28 次,下载 220 次,GitHub 24 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

dotnet-testing-code-coverage-analysis 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
dotnet-testing-code-coverage-analysis

dotnet 测试代码覆盖率分析 · 本页

68524调用外部服务MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

程式碼覆蓋率分析指南

Code Coverage 核心概念

程式碼覆蓋率 (Code Coverage) 是一種測量指標,用來統計測試執行時實際執行了多少程式碼。

實際價值: 找出測試盲點、評估測試完整性、輔助重構決策、增加測試信心。

常見誤解:

  • 涵蓋率 100% 不代表沒有 Bug — 只代表程式碼有被執行,不代表驗證了正確行為
  • 涵蓋率數字越高不一定越好 — 重點是測試的有效性
  • 把涵蓋率當作 KPI 會適得其反 — 開發者會為了衝數字而寫沒有 Assert 的測試

覆蓋率工具選擇

工具優點適用場景
Visual Studio Enterprise內建整合,完整 UI僅 Enterprise
Fine Code Coverage(推薦)免費,即時顯示,編輯器直接標示VS 所有版本
.NET CLI + Coverlet跨平台,CLI 自動化CI/CD 流程
VS Code 內建跨平台,無需額外擴充套件VS Code 開發

Fine Code Coverage 設定

  • 安裝方式: Visual Studio 延伸模組管理 → 搜尋 "Fine Code Coverage" → 安裝
  • 必要設定: 工具 → 選項 → Fine Code Coverage → Enable: True、Editor Colouring Line Highlighting: True

VS Code 內建測試覆蓋率

  1. 安裝 C# Dev Kit 擴充套件
  2. 開啟測試總管(燒杯圖示)
  3. 點選「執行涵蓋範圍測試」
  4. 查看結果:測試涵蓋範圍視圖、編輯器內顯示、檔案總管顯示

執行覆蓋率分析

# .NET CLI(推薦用於 CI/CD)
dotnet test --collect:"XPlat Code Coverage"
dotnet test --collect:"XPlat Code Coverage" --results-directory ./coverage

# Fine Code Coverage:在 VS 中執行測試後自動顯示
# VS Code:開啟測試總管 → 點選「執行涵蓋範圍測試」

方法說明

方法工具操作步驟
.NET CLICoverlet + CLI執行 dotnet test --collect:"XPlat Code Coverage"
Fine Code CoverageVS 擴充套件在 VS 中執行測試後自動顯示
VS CodeC# Dev Kit開啟測試總管 → 執行涵蓋範圍測試

設定 Coverlet

測試專案需安裝 coverlet.collector 套件,並可透過 runsettings 檔案進行進階設定(排除規則、閾值、報告格式)。

完整 csproj 配置範例請參考 references/coverlet-csproj-config.md

解讀覆蓋率報告

顏色標示: 綠色(已覆蓋)、黃色(部分覆蓋)、紅色(未覆蓋)

覆蓋率指標:

  1. Line Coverage(行覆蓋率) — 被執行的行數 / 總行數,最基本的指標
  2. Branch Coverage(分支覆蓋率) — 被執行的分支數 / 總分支數,比行覆蓋率更準確
  3. Method Coverage(方法覆蓋率) — 被執行的方法數 / 總方法數

報告解讀策略: 優先處理紅色區域(完全未測試)→ 檢查黃色區域(部分分支未測試)→ 評估必要性(簡單 getter/setter 可跳過)

結合複雜度指標

循環複雜度(Cyclomatic Complexity)代表程式中獨立邏輯路徑的數量,等於至少需要的測試案例數量。每個 if、for、while、case、&&、|| 都會增加複雜度。

Visual Studio 擴充套件:

  • CodeMaintainability — 顯示可維護性指標、計算循環複雜度
  • CodeMaid — Spade 功能視覺化程式碼結構、顯示每個方法的複雜度
完整範例與測試策略請參考 references/cyclomatic-complexity-example.md

改善覆蓋率的策略

漸進式改善流程:

  1. 第一階段:覆蓋核心業務邏輯(目標 60-70%)
  2. 第二階段:補充邊界條件測試(目標 70-80%)
  3. 第三階段:處理異常情境(目標 80-85%)
  4. 維持階段:新增功能必須有測試

優先順序:

  • 高優先級:業務邏輯核心、金融計算、資料驗證、權限控制、異常處理
  • 中優先級:資料轉換、格式化邏輯、查詢邏輯
  • 低優先級:簡單 getter/setter、DTO 類別、自動產生的程式碼

排除不必要的程式碼: 使用 [ExcludeFromCodeCoverage] 屬性或在 runsettings 中排除。

最佳實踐

測試案例數量決策

  1. 基於需求分析 — 列出使用案例、識別邊界條件和異常情況
  2. 參考複雜度指標 — 循環複雜度提供測試案例下限
  3. 平衡覆蓋率與品質 — 不以 100% 覆蓋率為唯一目標,專注於關鍵業務邏輯

四大測試類型

  1. 邊界測試:測試輸入值的上下限
  2. 異常測試:驗證錯誤處理邏輯
  3. 主流程測試:覆蓋正常的業務流程
  4. 條件分支測試:確保所有分支都有測試

持續改善

  • 每次提交前檢查涵蓋率變化,Pull Request 時審查覆蓋率
  • 關注未覆蓋的關鍵程式碼,優先處理高複雜度未測試區域
  • 新功能必須包含測試,Code Review 包含測試檢查

CI/CD 整合

覆蓋率分析可整合至 CI/CD Pipeline,在 GitHub Actions 中使用 dotnet test --collect:"XPlat Code Coverage" 搭配 reportgenerator 產生報告;在 Azure DevOps 中使用 DotNetCoreCLI@2 任務搭配 PublishCodeCoverageResults@1。

完整 YAML 設定範例請參閱 references/cicd-integration.md

常見問題與解決方案

Q1: 覆蓋率顯示 0%?

  1. 確認已安裝 coverlet.collector 套件
  2. 檢查 runsettings 設定是否正確
  3. 確認測試有實際執行
  4. 查看是否有排除設定過於廣泛

Q2: Visual Studio 看不到覆蓋率?

  • Community/Professional 版本:安裝 Fine Code Coverage 擴充套件
  • Enterprise 版本:使用內建功能
  • 確認已啟用覆蓋率收集

Q3: VS Code 無法顯示覆蓋率?

  1. 確認已安裝 C# Dev Kit
  2. 重新執行「執行涵蓋範圍測試」
  3. 檢查 lcov 檔案是否產生
  4. 嘗試重新載入視窗

Q4: 如何提升覆蓋率?

  1. 識別未覆蓋的關鍵程式碼(紅色區域)
  2. 補充邊界條件測試
  3. 測試所有條件分支
  4. 加入異常情境測試
  5. 考慮重構過於複雜的方法

檢查清單

  • 已安裝 coverlet.collector 套件
  • 可以執行 dotnet test --collect:"XPlat Code Coverage"
  • 工具可以正常顯示覆蓋率結果
  • 了解覆蓋率數字的真正意義(不是 KPI)
  • 已排除不必要的程式碼
  • 專注於測試品質而非覆蓋率數字

範本檔案

  • templates/runsettings-template.xml - 覆蓋率設定範本
  • templates/coverage-workflow.md - 完整的工作流程說明

核心理念

程式碼覆蓋率是手段,不是目的。 重點在於關鍵業務邏輯是否都有測試、測試是否真正驗證了預期行為、是否能在重構時提供信心。

輸出格式

  • 產生 coverage.runsettings 設定檔,配置覆蓋率收集參數與排除規則
  • 修改測試專案 .csproj,確保包含 coverlet.collector 套件參考
  • 產生覆蓋率報告(cobertura XML 格式),可供 CI/CD 管線使用
  • 提供覆蓋率分析摘要,標示未覆蓋的關鍵區域與改善建議

參考資源

原始文章

  • Day 06 - Code Coverage 程式碼涵蓋範圍實戰指南

- 鐵人賽文章:https://ithelp.ithome.com.tw/articles/10374467

官方文件

工具

相關技能

  • unit-test-fundamentals - 單元測試基礎與 FIRST 原則
  • xunit-project-setup - xUnit 專案設定

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

平台分布

Claude Code

26.49%
按下载量换算58

Gemini CLI

22.13%
按下载量换算49

Antigravity

17.02%
按下载量换算37

OpenCode

12.69%
按下载量换算28

windsurf

7.98%
按下载量换算18

github-copilot

3.5%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

调用外部服务

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills