0

0

在VSCode中运行和调试单元测试(Jest/Pytest)

P粉986688829

P粉986688829

发布时间:2025-12-26 14:33:21

|

699人浏览过

|

来源于php中文网

原创

在VSCode中调试Jest或Pytest单元测试需配置launch.json、安装对应扩展并选对环境:Jest依赖本地jest包和Jest Runner扩展,Pytest需Python官方扩展及正确解释器;均可一键运行单测或F5调试。

在vscode中运行和调试单元测试(jest/pytest)

在 VSCode 中运行和调试 Jest(JavaScript/TypeScript)或 Pytest(Python)单元测试,不需要手动敲命令行,关键在于正确配置 launch.json 和安装对应扩展,再配合快捷键就能一键启动调试。

确保基础环境已就位

这是前提,缺一不可:

  • Jest:项目中已安装 jest(本地优先,推荐 npm install --save-dev jest @types/jest),且有 jest.config.jspackage.json 中的 "jest" 字段
  • Pytest:已安装 pytestpip install pytest),推荐同时装 pytest-covpytest-watch(可选)
  • VSCode 扩展:Jest 项目装 Jest RunnerES7+ React/Redux/React-Native snippets(非必须但方便);Python 项目必须装 Python 官方扩展(含 pytest 支持)
  • Python 解释器已选中:按 Ctrl+Shift+P → 输入 Python: Select Interpreter,选对带 pytest 的环境(如 venv 或 conda 环境)

快速运行单个测试文件或测试用例

不用改配置,开箱即用:

  • Jest:打开测试文件(如 sum.test.ts),右上角会出现“运行”和“调试”按钮(由 Jest Runner 扩展提供);也可右键某一个 test()it() 块,选择 Run JestDebug Jest
  • Pytest:打开 test_*.py*_test.py 文件,在测试函数(如 def test_add():)左侧会出现绿色 ▶ 按钮,点击即可运行该测试;悬停还能看到“Debug”图标,点它直接进断点调试

自定义 launch.json 实现灵活调试

适合需要传参、指定配置或复用调试场景:

Songtell
Songtell

Songtell是第一个人工智能生成的歌曲含义库

下载
  • Jest 配置示例(.vscode/launch.json):
    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "node",
          "request": "launch",
          "name": "Debug Jest Tests",
          "program": "${workspaceFolder}/node_modules/.bin/jest",
          "args": ["--runInBand", "--no-cache"],
          "console": "integratedTerminal",
          "internalConsoleOptions": "neverOpen",
          "disableOptimizations": true,
          "env": { "NODE_ENV": "test" }
        }
      ]
    }
    注意:--runInBand 确保单线程执行,才能命中断点;Windows 用户可能需把 program 改为 node_modules\\jest\\bin\\jest.js
  • Pytest 配置示例
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Python: pytest current file",
          "type": "python",
          "request": "launch",
          "module": "pytest",
          "args": ["${file}"],
          "console": "integratedTerminal",
          "justMyCode": true
        }
      ]
    }
    保存后,按 F5 就能调试当前打开的测试文件;想调试某个类或方法,把 ${file} 换成 ${file}::TestClass::test_method

调试技巧与常见问题

让调试真正高效起来:

  • 在测试代码或被测代码中打上断点(红点),F5 启动后自动暂停;支持变量查看、步进(F10/F11)、继续(F5)等标准操作
  • Jest 报 “Cannot find module”?检查是否在正确工作区打开根目录(含 package.json),且 node_modules 已安装
  • Pytest 找不到测试?确认文件命名符合 test_*.py*_test.py,且不在 __pycache__ 或隐藏目录里;可在设置中加 "python.testing.pytestArgs": ["-s", "-v"] 查看详细输出
  • 想每次保存自动运行测试?Jest 可用 Wallaby.js(付费)或终端开 npx jest --watch;Pytest 推荐插件 Test Explorer UI + Python Test Explorer for Visual Studio Code,支持点击运行/重试/查看历史

基本上就这些。配置一次,后续点几下或按个 F5 就能跑和调,比切终端快得多。关键是路径、模块名、工作区别搞错,其他都很顺。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

707

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

625

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

735

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

616

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1234

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

573

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

695

2023.08.11

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

25

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 0.9万人学习

React核心原理新老生命周期精讲
React核心原理新老生命周期精讲

共12课时 | 1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号