开发与工程 ✓ Microsoft · 官方 smoke-testingend-to-end-testingci-debuggingplaywrightmochagithub-actionsazure-pipelines

VS Code 冒烟测试助手

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

FollowSkills 评估 · FSRS-2.0
谨慎使用
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全17 / 25 · 3.4/5

技能明确说明循环仅用于临时排查、应在合并前移除,并披露日志、截图及可能包含模拟 LLM 请求/响应正文;但未说明最小权限、用户确认、敏感数据处理、凭据边界或失败后的恢复流程,因此扣分。

2可靠稳定8 / 20 · 2.0/5

npm 脚本、参数转发、失败时非零退出、循环 fail-fast 及日志位置说明较一致;但依赖安装、平台前置条件、PowerShell/Azure 变体和异常输入处理不完整,且本次未执行验证,受静态上限约束。

3适用触发9 / 15 · 3.0/5

目标场景、触发描述、Electron/Web/Remote 模式、grep 筛选、打包构建和不同 CI 环境均有说明,并区分了单元/集成/Smoke 测试;但非适用边界、Node/系统依赖、中文支持和中国大陆网络可达性未说明,且日志下载依赖 gh/az 及海外 CI 服务。

4规范维护9 / 15 · 3.0/5

文档采用脚本、选项、示例、临时循环、日志排查和测试类型区分的渐进结构,仓库提供 MIT 许可、Microsoft 归属和版本信息;但技能自身没有版本、变更记录、维护责任、安装说明、FAQ 或完整故障排查路径,因此扣分。

5有效结果6 / 15 · 2.0/5

核心任务可直接转化为 npm 命令、筛选参数、trace 采集、失败日志下载和临时复现循环,预期输出与退出码也有说明;但缺少技能自身提交的可核验结果,且平台细节和前置条件不足,静态评估不能超过 7 分。

6证据核验4 / 10 · 2.0/5

package.json 直接支持两个 smoke-test 脚本,文档给出具体工作流路径、命令和日志结构;但提供的 CI 证据主要是无关的 chat-perf 工作流,未见覆盖该技能关键路径的 smoke CI 或独立复现结果,因此只能给有限分。

证据充分度: 评估于 2026年7月20日 审查版本 5b3e1be7be9e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 运行 Smoke 测试会启动完整 VS Code/Electron 或浏览器流程,可能产生较高 CPU、内存和时间成本;先确认构建、显示环境及 Playwright/Electron 依赖已就绪。
  • 日志可能包含模拟 LLM 请求/响应正文及扩展日志,下载或共享 artifacts 前应检查敏感信息。
  • 临时循环会显著增加 CI 消耗,并会修改工作流;必须在合并前移除。
  • gh/az 下载路径依赖相应 CLI、认证和 CI 服务可达性;中国大陆网络环境可能无法稳定访问这些服务。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能面向 microsoft/vscode 仓库中的冒烟测试工作,覆盖 Electron、浏览器和远程测试场景。它说明如何运行已编译或先编译后运行的测试,以及如何用 Mocha grep 筛选套件。它还提供在 CI 中临时重复运行可疑套件、失败即停并保留追踪信息的方法。技能同时说明如何从 GitHub Actions 和 Azure DevOps 下载并检查冒烟测试日志。

运行 npm run smoketest,先编译 test/smoke 再执行测试;或运行 npm run smoketest-no-compile 执行已编译测试,并把 -- 后的参数传给 test/smoke/test/index.js。它支持按标题筛选套件、针对打包构建运行、启用 Playwright 追踪,以及选择 Electron、浏览器、无头浏览器或远程模式。针对 CI 间歇性失败时,它指导在 GitHub PR 工作流或 Azure DevOps 测试步骤中临时循环运行套件,并从日志工件中检查运行器日志、扩展宿主日志和失败截图。

  1. VS Code 开发者需要运行完整 Electron 冒烟测试,以验证端到端用户流程。
  2. 测试工程师只想运行名称包含特定文本的套件,并在失败时收集 Playwright 追踪和截图。
  3. CI 维护者需要在 Linux、macOS 或 Windows 上针对指定套件重复测试,以复现间歇性失败。
  4. 问题排查人员需要从 GitHub Actions 或 Azure DevOps 下载 `.build/logs` 工件,检查 Mocha 输出和扩展宿主日志。
  5. 构建验证人员需要对已打包的 VS Code 构建运行已经编译好的冒烟测试。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖 Electron、浏览器和远程冒烟测试模式,并支持无头浏览器模式。
  • 提供按测试或套件标题筛选、Playwright 追踪和失败截图等实用选项。
  • 给出了 GitHub Actions 与 Azure DevOps 两套 CI 日志下载和定位方法。
  • 临时重复循环采用失败即停,有助于保留首次失败的追踪和截图并减少无效运行。
局限
  • 它依赖 VS Code 仓库已有的冒烟测试、编译流程和 CI 配置,不是独立的测试框架。
  • 临时循环只应用于排查问题,合并前必须移除,否则每个平台的运行时间可能增加约一小时。
  • 独立安装步骤、客户端配置和完整环境准备要求在给定资料中没有说明。
  • 日志工件名称和工作流路径会因平台、CI 系统及测试套件而不同,需要按文档选择。

如何安装这个 Skill?

该技能没有提供独立安装命令或包管理步骤。它位于 https://github.com/microsoft/vscode.github/skills/smoke-tests/SKILL.md;使用时需要让兼容 Agent Skills 的客户端读取该文件。仓库级技能集合的独立安装流程未在给定资料中说明。

如何使用这个 Skill?

在该仓库中按需求触发此技能,例如:运行 VS Code 冒烟测试并只执行名称包含 Agents Window 的套件,同时启用追踪。对应命令为 npm run smoketest -- -g "Agents Window" --tracing。运行已编译测试可使用 npm run smoketest-no-compile;针对打包构建可使用 npm run smoketest-no-compile -- --tracing --build "/path/to/VSCode-darwin-arm64/Code - OSS.app"-g 也可写作 -f,测试失败时运行器返回非零退出码。

这个 Skill 与同类方案有什么区别?

与单元测试和集成测试不同,该技能专门处理 test/smoke/ 中驱动完整 VS Code 实例的端到端用户流程;资料将单元测试指向 scripts/test.sh / runTests,将集成测试指向 scripts/test-integration.sh

常见问题

冒烟测试失败时,退出码代表什么?
运行器在任意测试失败时返回非零退出码;退出码为 0 表示所选测试全部通过。
是否应该把重复运行循环长期加入 CI?
不应该。资料明确将其定义为临时调试手段,应在合并前移除;它用于复现间歇性失败,而不是永久 CI 固件。
这个技能是否只适用于 Electron?
不是。它还覆盖浏览器、无头浏览器和远程冒烟测试;`--web`、`--headless` 和 `--remote` 分别用于相应场景。
运行冒烟测试需要哪些外部工具?
资料明确展示了 npm 脚本、GitHub CLI 的 `gh run download`,以及 Azure CLI 的 `az pipelines runs artifact download`。具体版本和其他环境准备要求未在给定资料中说明。

同仓库的其他 Skills

均来自 microsoft/vscode

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

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

开发与工程 ✓ Microsoft · 官方

CI 组件截图基线调查

从 CI 检查结果和截图制品中调查组件截图差异。

开发与工程 ✓ Microsoft · 官方

VS Code 单元测试助手

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

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

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

自动化与运维 ✓ Microsoft · 官方

CI 故障修复助手

定位拉取请求中的 CI 失败原因并迭代修复。

开发与工程 ✓ Microsoft · 官方

VS Code 性能调查工作流

自动化复现 VS Code 场景并采集性能与内存证据。

开发与工程 ✓ Microsoft · 官方

VS Code 冒烟测试故障诊断

定位并验证 Azure DevOps 中间歇性 VS Code Electron 冒烟测试失败。

开发与工程 ✓ Microsoft · 官方

Code OSS 启动与调试

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

开发与工程 ✓ Microsoft · 官方

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

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

开发与工程 ✓ Microsoft · 官方

VS Code 集成测试运行助手

帮助你在 VS Code 源码仓库中准确运行和筛选集成测试。

自动化与运维 ✓ Microsoft · 官方

Azure Pipelines 验证助手

快速验证 VS Code 的 Azure DevOps 流水线变更。

开发与工程 ✓ Microsoft · 官方

VS Code Insiders 自动化技能

通过 Playwright 自动化 VS Code Insiders 与 Copilot Chat。

开发与工程 ✓ Microsoft · 官方

VS Code 集成浏览器架构指南

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

开发与工程 ✓ Microsoft · 官方

CI 检查修复助手

根据失败检查的注释和输出定位原因并修复当前会话中的 CI 问题。

开发与工程 ✓ Microsoft · 官方

GitHub Copilot SDK 升级助手

在 VS Code Copilot Chat 项目中升级并验证 @github/copilot。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

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

开发与工程 ✓ Microsoft · 官方

组件夹具与截图测试

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

开发与工程 ✓ Microsoft · 官方

VS Code 崩溃转储符号化

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

开发与工程 ✓ Microsoft · 官方

VS Code 错误遥测修复指南

从错误遥测追溯无效数据源头,修复未处理错误而不是掩盖崩溃。

开发与工程 ✓ Microsoft · 官方

Copilot 会话故障诊断

基于会话日志解释 Copilot CLI 为何出现异常行为。

相关 Skills