网站首页 > 技术教程 正文
fixture有一个scope的可选参数,用于控制fixture执行配置和销毁逻辑的频率,有四个待选值,function、class、module、session,默认值是function。
参数待选值介绍
- function
函数级别的fixture每个测试函数只执行一次,配置代码在测试用例运行之前执行,销毁代码在测试用例运行之后执行,function是scope的默认值
- class
类级别的fixture每个测试类只需要执行一次,无论测试类里有多少类方法都可以共享这个fixture
- module
模块级别的fixture每个模块只需要一次,无论模块里有多少个测试甘薯、类方法或者其他fixture都可以共享这个fixture
- session
会话级别的fixture每次会话只需要运行一次,一次pytest会话中所有测试函数、方法都可以共享这个fixture
pytest --setup-show test_fixture_scope.py 运行测试用例,指定--setup-show参数,让控制台显示每个fixture被调用的测试,以及在各自作用范围下执行配置、销毁逻辑的顺序。
上图不仅出现了代表函数级别和会话级别的F和S,还出现了代表类级别和模块级别的C和M。作用范围虽然是由fixture自身定义的,但是scope在定义fixture时就已经定义了,不是在调用的时候定义,也就是说一个模块级别的fixture,只在这个模块运行一次。即使这个模块里多个参数函数都调用了这个fixture,但是也只会执行一次。
fixture只能使用同级别的fixture,或比自己级别更高的fixture,不能使用比自己级别低的fixture。比如类级别的fixture可以使用和自己同级别的类fixture,和模块、会话级别的fixture,但是不能使用函数级别的fixture。
scope实战
自实际测试用例运行中,我们可能在多个case或者多个模块中都需要建立数据库的链接,如果每次需要都去建立还是挺浪费资源的,其实我们在整个测试会话过程中只需建立一次链接,在会话结束时关闭链接即可。
使用usefixtures指定fixture
之前提高的指定fixture的方式都是通过在测试函数的参数列表里指定fixture,还可以用pytest的标记功能,@pytest.mark.usefixtures('fixture1', 'fixture2')标记测试函数或者类,可以指定一个或多个fixture。
fixture的autouse参数
autouse=True可以使的作用域内的测试函数都运行改fixture,可以实现那些需要运行多次、但是又不依赖任何系统状态或外部数据的初始化功能。
猜你喜欢
- 2024-11-17 这些年,英国女王就靠这件事赚了6000多万元!
- 2024-11-17 主题分类词汇 14 (Industry 工业)
- 2024-11-17 工件的安装与夹具,建议收藏
- 2024-11-17 Pytest fixture及conftest详解
- 2024-11-17 pytest框架进阶自学系列 | 在不同的层级上重写fixture
- 2024-11-17 仕诺康丨全程导板工具盒
- 2024-11-17 Pytest的内置fixture(七)
- 2024-11-17 你会买吗?可以边走边玩的Switch专用手柄支架Fixture S1开启众筹
- 2024-11-17 思林杰获得外观设计专利授权:“充电座(BBUChargingFixture)”
- 2024-11-17 软件测试 | pytest测试框架纸fixture进阶
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
-
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)