【pytest Debug】vscode 里让你按下F5就能执行 pytest并断点

pytest 从命令行执行时不能自动停留在断点处太麻烦了,
launch. json 中配置好调试器可解决:
首先,如果本地没有 launch.json 的话,增加一个调试配置:
在这里插入图片描述
然后进入 launch.json进行具体配置。
在 configuration 列表中增加一项:

{
            "name": "Python: Test current file",
            "type": "python",
            "request": "launch",
            "module":"pytest",
            "cwd":"${workspaceFolder}",
            "args": [
            "-v",
            "${file}"
            ],
            "console": "integratedTerminal"
            },

它指定了你执行 F5 时,vscode 会自动做哪些操作。
在这个配置中,它实际执行如下:

1、切换到${workspaceFolder}",也就是当前命令行默认的工作目录。
2、指定 python.exe 解释器的位置为默认,比如你切换到虚拟环境下,那么它就指定到虚拟环境的 python.exe
3、自动开启调试器,我机器上具体执行指令如下
%user%\\.vscode\\extensions\\ms-python.python-2023.6.1\\pythonFiles\\lib\\python\\debugpy\\adapter/../..\\debugpy\\launcher 38260:这是用于启动Python调试器的命令。它启动一个名为debugpy的Python调试器,并监听端口号38260,以便IDE(集成开发环境)可以连接到调试器进行调试。
4、执行 python -m pytest {args},其中 args 上面配置指定的。如果你要修改,就要往其中添加。比如 “-s、-x ”等参数。
5、${file} 指定的是当前 py 文件
配置好以后,先切换到我们的调试配置(由 name定义),再 F5 就好了。
在这里插入图片描述
在底下勾选你想要捕捉的error
勾选后面两个时,就会自动在触发bug时停下
在这里插入图片描述

附pytest 常用的 args:

选择和过滤测试:

-k EXPRESSION: 只运行名字匹配表达式的测试。例如,pytest -k test_my_function 仅运行名为 test_my_function 的测试。
--ignore=PATH: 忽略指定路径的测试。
运行控制:

-x, --exitfirst: 遇到第一个失败的测试时立即退出。
--maxfail=num: 遇到指定数量的失败测试后退出。
--last-failed: 仅运行上次失败的测试。
测试结果报告:

-v, --verbose: 输出更详细的结果。
-q, --quiet: 减少输出的详细程度。
--lf, --last-failed: 只运行上次失败的测试。
--tb=style: 跟踪回溯输出格式 (例如,short, long, no 等)。
并行运行测试:

通过 pytest-xdist 插件,你可以使用 -n 参数来并行运行测试:-n NUM 会并行运行测试,NUM 是并发线程数。
代码覆盖率:

使用 pytest-cov 插件,你可以加上 --cov=MODULE 参数来查看代码覆盖率报告。
插件和配置:

--durations=N: 列出最慢的N个测试。
-p no:PLUGIN: 禁用一个插件。
--fixtures: 显示可用的fixture。
--markers: 显示可用的标记。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值