107、pytest 从入门到上瘾(一):fixture 的力量、conftest.py 与作用域

107、pytest 从入门到上瘾(一):fixture 的力量、conftest.py 与作用域

一个让我半夜加班的bug

去年有个项目,测试用例跑着跑着就报数据库连接超时。我盯着日志看了半小时,发现每个测试函数都在重复写同样的setup代码——创建数据库连接、初始化测试数据、清理临时表。更离谱的是,有个同事把连接池写在了模块全局变量里,结果不同测试文件之间互相污染,跑完一个文件下一个就炸。

当时我就在想,Python测试框架这么多,为什么非要自己手搓这些重复劳动?后来彻底转向pytest,才发现之前那些痛苦完全没必要。今天就从我最常用的fixture开始,聊聊怎么让测试代码写得像写诗一样舒服。

fixture:测试的“依赖注入”利器

先看一个最朴素的场景:测试一个用户注册函数,需要先创建数据库连接。

# 别这样写——每个测试函数都重复
def test_register_user():
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值