107、pytest 从入门到上瘾(一):fixture 的力量、conftest.py 与作用域
一个让我半夜加班的bug
去年有个项目,测试用例跑着跑着就报数据库连接超时。我盯着日志看了半小时,发现每个测试函数都在重复写同样的setup代码——创建数据库连接、初始化测试数据、清理临时表。更离谱的是,有个同事把连接池写在了模块全局变量里,结果不同测试文件之间互相污染,跑完一个文件下一个就炸。
当时我就在想,Python测试框架这么多,为什么非要自己手搓这些重复劳动?后来彻底转向pytest,才发现之前那些痛苦完全没必要。今天就从我最常用的fixture开始,聊聊怎么让测试代码写得像写诗一样舒服。
fixture:测试的“依赖注入”利器
先看一个最朴素的场景:测试一个用户注册函数,需要先创建数据库连接。
# 别这样写——每个测试函数都重复
def test_register_user():
订阅专栏 解锁全文
:fixture 的力量、conftest.py 与作用域&spm=1001.2101.3001.5002&articleId=162481289&d=1&t=3&u=a043ac0f1942453ba21c78f9c11cdcc0)
425

被折叠的 条评论
为什么被折叠?



