如何解决PyCharm中pytest-xdist并行测试时断点失效问题?
解决PyCharm中pytest-xdist并行测试断点不触发的问题
首先修正代码里的语法错误:print(url). 末尾的多余点号要删掉,改成print(url),否则测试用例会直接报错。
接下来按以下步骤配置,让断点在并行模式下生效:
开启子进程自动附加调试
打开PyCharm的「Run/Debug Configurations」,找到你的pytest运行配置:- 切换到「Configuration」标签页,找到「Debugger」区域
- 勾选「Attach to subprocesses automatically」选项
- 保存配置
调整pytest运行参数
在配置的「Additional Arguments」中,除了-n2,额外添加--tx popen//env=PYDEVD_USE_FRAME_EVAL=0。这个参数会禁用PyDev的帧评估优化,避免子进程无法触发断点。确认断点设置
确保断点设置在print(url)这一行,并且是普通的行断点(非条件断点或其他特殊类型,除非你有特定需求)。
完成以上配置后,重新启动调试,PyCharm就能自动附加到xdist启动的子进程,触发断点了。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

