开发与工程 ✓ Microsoft · 官方 unit-testingmochaelectrontypescripttest-filteringcode-coveragedebugging

VS Code 单元测试助手

在 VS Code 源码仓库中按文件、测试名称或匹配模式运行单元测试。

FollowSkills 评估 · FSRS-2.0
不推荐
55/ 100 五分制 2.8 / 5
信任安全18 / 25 · 3.6/5

技能仅指导运行测试,未要求凭据、秘密或不必要的外部访问,也区分了首选工具与本地脚本;但对脚本下载 Electron、网络依赖、用户确认、数据流、失败后的回滚或隔离没有说明,因此扣分。

可靠稳定8 / 20 · 2.0/5

文档内部基本一致,覆盖 runTests、macOS/Linux 和 Windows 脚本、过滤、覆盖率、超时及编译前置条件;但未提供该技能关键路径的可执行复现、版本兼容矩阵或针对异常参数和下载失败的诊断处理,按静态校准不超过10分。

适用触发10 / 15 · 3.3/5

目标场景和主要输入参数较清楚,涵盖工具可用与CLI回退、平台差异及单元/集成测试边界;但未明确 runTests 的可用环境、更多非适用场景、输出格式或中文支持,且未讨论网络受限环境下的 Electron 下载。

规范维护7 / 15 · 2.3/5

YAML元数据、分层说明、命令示例、别名和常见陷阱均较清晰,并且仓库提供 MIT 许可证、版本和官方维护背景;但技能自身没有维护者、更新路径、变更记录、依赖安装说明或FAQ,故仅中等分数。

有效结果7 / 15 · 2.3/5

技能能够直接帮助用户选择工具或脚本并构造常见测试命令,覆盖文件、名称、glob、覆盖率和超时等核心任务;但示例是概念性而非可验证输出,未说明结果格式、失败后的处理或相对手工操作的收益,静态校准上限为7分。

证据核验5 / 10 · 2.5/5

文档中的命令、参数和编译要求具有一定可审计性,仓库还提供测试代码和CI材料;但所给CI工作流与该单元测试技能不直接对应,未提供针对runTests或scripts/test.sh关键路径的覆盖证据,也没有第三方复现结果,静态校准上限为5分。

证据充分度: 评估于 2026年7月20日 审查版本 5b3e1be7be9e
使用前请注意
  • 运行测试可能下载 Electron 并依赖网络;在受限网络或大陆网络环境中,文档未提供镜像、缓存或离线方案。
  • runTests 的工具接口未给出可核对的可用性、输出示例或失败诊断;概念性示例不足以确认实际参数行为。
  • 执行脚本前需要完成编译或保持 watch 任务运行,但文档未说明如何确认编译产物新鲜或如何处理下载、编译和测试失败。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向 microsoft/vscode 仓库中的单元测试运行任务。若可用,它优先调用提供结构化通过与失败信息的 runTests 工具;否则使用仓库根目录下按平台区分的测试脚本。技能支持按测试文件、测试名称和 glob 模式筛选,也支持覆盖率与超时设置。测试依赖已编译的 JavaScript 输出,集成测试不属于 scripts/test.sh 或 scripts/test.bat 的范围。

优先使用 runTests 工具,并向其传入测试文件的绝对路径、测试名称筛选条件或 coverage 模式;工具不可用时,在 macOS/Linux 上运行 ./scripts/test.sh,在 Windows 上运行 .\scripts\test.bat。它可以通过位置参数或 --run 指定一个或多个源文件,通过 --grep、-g 或 -f 按完整测试标题筛选,通过 --runGlob、--glob 或 --runGrep 按编译输出目录中的 .js 文件匹配测试,还可以启用 --coverage 或设置 --timeout。脚本在需要时下载 Electron,并启动 Mocha 测试运行器。

  1. VS Code 开发者只想验证某个编辑器模型测试文件时,使用文件路径运行目标测试。
  2. 开发者需要定位某个具体测试标题时,组合 --run 与 --grep 运行更小的测试范围。
  3. 维护某个功能区域的开发者需要按编译后的测试文件 glob 批量运行测试时,使用 --runGlob。
  4. 需要检查测试覆盖率的开发者在目标测试命令后追加 --coverage。
  5. 测试运行时间较长的开发者使用 --timeout 调整 Mocha 的测试超时。
  6. 处理集成测试的开发者应改用 scripts/test-integration.sh 或 scripts/test-integration.bat,而不是本技能覆盖的单元测试脚本。

优缺点一览

优点
  • 同时覆盖 runTests 工具和 macOS/Linux、Windows 两套脚本路径。
  • 支持按文件、测试标题和编译输出 glob 缩小运行范围。
  • 提供覆盖率和超时参数,并说明了编译输出这一关键前置条件。
  • 仓库源代码整体采用 MIT 许可证。
局限
  • 没有提供独立安装流程或单独包的证据。
  • 依赖已编译的 JavaScript 输出;过期的编译结果可能导致测试失败。
  • scripts/test.sh 和 scripts/test.bat 不运行集成测试,集成测试需要其他脚本或技能。
  • 源材料没有说明 runTests 工具在哪些客户端中可用,也没有提供测试报告示例。

如何安装

该技能位于 microsoft/vscode 仓库的 .github/skills/unit-tests/SKILL.md。源材料没有提供独立安装命令或单独发布包;使用前需要获取该仓库,并让兼容 Agent Skills 的客户端加载此文件。整个仓库的 README 说明其源代码采用 MIT 许可证,并提到仓库包含 61 个技能,但本资料只描述其中的 unit-tests 技能。

如何使用

在已获取的 VS Code 仓库中提出类似“运行 src/vs/editor/test/common/model.test.ts 中标题包含 should split lines 的单元测试”的请求。若 runTests 可用,优先按文件和测试名称调用它;否则从仓库根目录执行 ./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --grep "should split lines"。Windows 使用 .\scripts\test.bat --run src\vs\editor\test\common\model.test.ts --grep "should split lines"。运行前确保 VS Code - Build watch 任务正在运行,或确认编译已经完成。

常见问题

这个技能需要付费吗?
源材料没有列出费用。仓库 README 说明 Code - OSS 源代码采用 MIT 许可证,但没有提供该技能的独立定价或安装包信息。
为什么测试可能在代码没有问题时失败?
测试针对已编译的 JavaScript 输出运行。源材料指出,应确保 VS Code - Build watch 任务正在运行或编译已完成;过期输出是常见问题。
它能运行集成测试吗?
不能通过本技能描述的 scripts/test.sh 或 scripts/test.bat 运行集成测试。文件名以 .integrationTest.ts 结尾或位于 extensions/ 中的测试,应使用 scripts/test-integration.sh 或 scripts/test-integration.bat。
支持哪些筛选方式?
可以按测试文件、完整测试标题中的模式,或编译输出目录中的 glob 选择测试;还可以设置覆盖率和超时时间。

同仓库的其他 Skills

均来自 microsoft/vscode

开发与工程 ✓ Microsoft · 官方

工具重命名兼容性检查

防止内置工具重命名破坏现有提示词与工具配置。

开发与工程 ✓ Microsoft · 官方

Copilot Chat OpenTelemetry 埋点指南

为 Copilot Chat 统一设计和维护 OpenTelemetry 埋点。

开发与工程 ✓ Microsoft · 官方

VS Code 配置策略维护助手

规范 VS Code 企业配置策略的注册、导出与验证。

设计与前端 ✓ Microsoft · 官方

VS Code 设计哲学

用价值、原则和设计动作,把“看起来不对”转化为可执行的界面改进。

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

用严格的回放夹具维护 VS Code Agent 主机端到端测试。

开发与工程 ✓ Microsoft · 官方

VS Code 集成浏览器架构指南

帮助开发者安全理解和修改 VS Code 集成浏览器的跨进程架构。

开发与工程 ✓ Microsoft · 官方

VS Code Agents 窗口会话架构

帮助代理安全实现和修复 VS Code Agents 窗口功能。

开发与工程 ✓ Microsoft · 官方

智能提交助手

根据仓库惯例生成提交信息并安全提交代码变更。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

定位 Agent Host 导出日志中的会话、传输与主机问题。

开发与工程 ✓ Microsoft · 官方

VS Code Agent 定制助手

帮助创建、修复和排查 VS Code Agent 定制文件及其加载问题。

开发与工程 ✓ Microsoft · 官方

Code OSS 启动与调试

为 VS Code 源码构建提供隔离启动、Playwright 自动化和多进程调试端口。

开发与工程 ✓ Microsoft · 官方

VS Code 无障碍开发助手

为 VS Code 交互式功能提供可执行的无障碍实现规范。

设计与前端 ✓ Microsoft · 官方

VS Code CSS 布局规范

用 VS Code 规范构建稳健的 CSS 布局与文本截断体验

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

基准测试聊天渲染性能,并检测会话中的内存泄漏。

开发与工程 ✓ Microsoft · 官方

组件夹具与截图测试

帮助你为 VS Code 组件创建稳定、可主题化的截图测试夹具。

开发与工程 ✓ Microsoft · 官方

VS Code 冒烟测试助手

运行、筛选并调试 VS Code 端到端冒烟测试。

开发与工程 ✓ Microsoft · 官方

VS Code 崩溃转储符号化

将原生 VS Code 崩溃转储转换为带方法名的可读回溯。

开发与工程 ✓ Microsoft · 官方

VS Code 本地 Web 工作台

在本地 vscode.dev 中验证 VS Code 工作台和 Agents 窗口改动。

开发与工程 ✓ Microsoft · 官方

反馈执行器

读取当前会话反馈并落实对应代码修改。

开发与工程 ✓ Microsoft · 官方

VS Code 聊天定制编辑器开发技能

帮助开发者安全修改并测试 VS Code 的聊天定制管理界面。

相关 Skills