
如何用 pdb 断点调试 pytest 测试?
调试 pytest 用例有两种方式:在代码里插入 breakpoint() 手动打断点,或用 pytest --pdb 在断言失败时自动进入调试器。本文介绍两种用法及常用 pdb 命令。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

调试 pytest 用例有两种方式:在代码里插入 breakpoint() 手动打断点,或用 pytest --pdb 在断言失败时自动进入调试器。本文介绍两种用法及常用 pdb 命令。

调试 Logstash 三步走:--config.test_and_exit 验证语法、stdout rubydebug 输出查看事件结构、--debug 查看运行细节。本文给出完整排查流程。

Python 自定义异常的标准做法是继承 Exception(或更具体的内置异常类),按需添加属性。本文给出规范写法、继承选择与常见误区。

删除 Python 字典元素的三种方法:del 语句、pop() 方法(可带默认值避免 KeyError)、popitem() 删除并返回最后插入的项。本文对比三者用法与区别。

Python 删除文件用 os.remove() 或 Path.unlink();删除空目录用 os.rmdir();递归删除整个目录树用 shutil.rmtree()。本文对比各方法及注意事项。

Python 判断对象类型用 type() 获取精确类型,用 isinstance() 做类型检查(推荐,支持继承关系),issubclass() 检查类之间的继承。本文对比三者用法。

pytest 跳过测试用 @pytest.mark.skip 装饰器(可注明原因),或用 skipif 按条件跳过,命令行可用 --deselect 精确排除。本文对比各种方式。

requests 的日志来自它自己和底层 urllib3,把这两个 logger 的级别设为 WARNING 即可静音。本文给出代码写法和 Django settings 配置方式。

测试时刷屏的日志可以用 logging.disable(logging.CRITICAL) 全局静音,pytest 则可用 -p no:logging 或配置 log_cli。本文介绍两种思路及恢复方法。

Django 测试时静音日志的三种方式:logging.disable(logging.CRITICAL) 全局开关、在 settings.py 中判断 test 命令自动禁用、用 logging filter 精细控制。

Flask/Django/FastAPI 等框架默认记录每个 HTTP 请求。

Logstash 的 csv 插件中 "\t" 不会被解析为制表符,必须在配置文件里输入真实的 Tab 字符。本文说明正确写法及注意事项。