Pytest Fixture(一)
2024-09-08 19:42:14
Fixture 是一些函数,pytest 会在执行测试函数之前(或之后)加载运行它们。我们可以用它做一些事情,比如数据库的链接操作之类的
import pytest @pytest.fixture()
def post_code():
return '010' def test_postcode(post_code):
assert post_code == '010'
执行结果
预处理和后处理
很多时候需要在测试前进行预处理(如新建数据库连接),并在测试完成进行清理(关闭数据库连接)。
当有大量重复的这类操作,最佳实践是使用固件来自动化所有预处理和后处理。
Pytest 使用 yield 关键词将固件分为两部分,yield 之前的代码属于预处理,会在测试前执行;yield 之后的代码属于后处理,将在测试完成后执行。
以下测试模拟数据库查询,使用 Fixture来模拟数据库的连接关闭:
import pytest @pytest.fixture()
def db():
print('Connection success')
yield
print(' closed') def search_user(user_id):
d = {
'0001': 'lowen'
}
return d[user_id] def test_search(db):
assert search_user('0001') == 'lowen'
结果
成功前后标识前后有数据库的连接和关闭操作
最新文章
- Python 修改电脑DNS
- linux更改 DNS 的一般方式
- WPF学习之路(十)实例:用户注册
- 工作中常用的Linux命令:find命令
- Python自动补全
- 后台返回JSON关于日期的格式化
- HEAP CORRUPTION 错误
- Creating Excel File in Oracle Forms
- IOS开发中的几种设计模式
- if最简单的用法
- javascript推断的浏览器类型
- SQL字符串处理函数
- iOS-image图片压缩
- UIActionSheet,UIAlertView技术分享
- 获取cxgrid footer内容
- :nth-child(n)选择器
- Excel如何实现两个工作表数据的对比
- jQuery实现两个DropDownList联动(MVC)
- Unity Shader 阶段性反思与总结(一)
- BigDecimal 精准加减乘除