应根据项目技术栈选择:python项目装python官方插件+test explorer ui;typescript/js项目选jest runner或mocha test explorer;需操作真实vscode界面则必装playwright test for vscode。

VSCode插件怎么选:pytest、Jest、Playwright谁该装
不是所有测试插件都适合你的项目。选错插件会导致测试发现不了、运行不起来、甚至和现有脚本冲突。
关键看项目技术栈:
- Python 项目 → 装
Python官方插件(自带 pytest/unittest 支持),再配Test Explorer UI查看用例树 - TypeScript/JS 插件开发 →
Jest Runner或Mocha Test Explorer,别装Python插件凑数 - 需要操作真实 VSCode 界面 → 必装
Playwright Test for VSCode,它能调起 Code-OSS 实例,其他插件做不到 - Q# 项目 → 不依赖第三方插件,靠
quantum.quantum-devkit-vscode自带的测试命令支持dotnet test
装完别急着写测试,先在命令面板里搜 “Test: Configure” 看是否识别到框架;如果没反应,大概率是插件和项目类型不匹配。
test.yml 里写的 vs testRunnerPath 指向哪
vscode-test 的 testRunnerPath 参数必须指向编译后的测试入口文件(通常是 out/test/runTest.js),不是 .ts 源码路径。CI 里常有人写成 src/test/...,结果报 Error: Cannot find module '...' 。
常见路径组合:
- 项目用 tsc 编译 →
testRunnerPath = path.resolve(extensionPath, 'out/test') - 项目用 webpack 打包 →
testRunnerPath = path.resolve(extensionPath, 'dist/test') - GitHub Actions 中,
yarn build后必须确认out/目录存在,否则runTests()直接失败退出
注意:extensionPath 是插件根目录(含 package.json),不是 src/ 子目录 —— 这个搞错会导致 activate() 找不到、命令注册失败。
Playwright 测试跑不起来?检查 Chromium 是否真被下载
Playwright Test for VSCode 插件本身不带浏览器二进制,首次运行 Test: Install Playwright 时若网络受限或权限不足,Chromium 可能只下了一半,后续执行 npx playwright test 就卡在 browserType.launch: Executable doesn't exist。
验证方式:
- 终端执行
npx playwright install-deps chromium(Linux/macOS)或npx playwright install-deps(Windows) - 手动检查
~/.cache/ms-playwright/chromium-*/是否有完整子目录(大小 >200MB) - CI 中建议显式加 step:
- run: npx playwright install chromium,别依赖插件自动触发
离线环境更得提前导出缓存目录,直接复制到目标机器 ~/.cache/ms-playwright/ 下,否则插件会反复重试下载并超时。
dotnet test 在 VSCode 里不显示测试列表?
Q# 或 .NET 项目的测试不会自动出现在侧边栏“Testing”图标下,因为 dotnet test 是 CLI 工具,不是 VSCode 原生支持的测试协议。你看到“找不到测试”不是配置错,是机制不同。
正确做法:
- 确保
MyQuantumTests.csproj中包含<packagereference include="Microsoft.NET.Test.Sdk" version="..."></packagereference> - 在终端里运行
dotnet test --nologo --verbosity=quiet,输出才是真实结果 - 想在编辑器内点运行?用 VSCode Task:在
tasks.json里定义label: "Run Q# Tests",command: "dotnet",args: ["test"]
别指望插件自动解析 @Test 属性——那是 MSTest 框架内部机制,VSCode 不解析 Q# AST,也不读取 AssemblyInfo.cs。
真正卡住人的从来不是“怎么装插件”,而是插件和项目构建产物路径对不上、浏览器缓存没到位、或者误以为 CLI 测试该被图形界面接管。每个环节都得按实际产物验证,而不是跟着教程路径抄。











