编程技术分享平台

网站首页 > 技术教程 正文

pytest——夹具?家具?fixture的作用范围第一篇

xnh888 2024-11-17 17:25:10 技术教程 48 ℃ 0 评论

fixture是pytest的核心功能,也是亮点功能,熟练掌握fixture的使用方法,pytest用起来才会得心应手!


@Pytest.Fixture()

fixture作用范围

fixture里面有个scope参数可以控制fixture的作用范围:session > module > class > function

- function 每一个函数或方法都会调用

- class 每一个类调用一次,一个类可以有多个方法

- module,每一个.py文件调用一次,该文件内又有多个function和class

- session 是多个文件调用一次,可以跨.py文件调用,每个.py文件就是module


1、 @pytest.fixture() 也可以写 @pytest.fixture(scope="function"),不填默认function


作用于每个有调用这个方法的用例。如图 测试用例2test_b方法中没有调用就没有打印"我在执行登陆了",如果有调用,则打印。总结该方法执行域在 有调用的方法里



2、 @pytest.fixture(scope="class"),


作用于整个class里面的多个用例,例如class里面有N个用例,fixture会在所有用例之前执行一次


3、@pytest.fixture(scope="modlue")


作用于所有传了fixture modlue的用例里,在所有的用例事先执行一次,不限制方法和类。只要传了,都先执行一次


4、 @pytest.fixture(scop="session")


配合配置文件conftest。可以实现免导入调用方法函数,支持多个.py文件调用, conftest.py文件名称是固定的,pytest会自动识别该文件。放到工程的根目录下,就可以全局调用了,如果放到某个package包下,那就只在该package内有效


从cenftest文件里,直接调用login方法,不需要任何导入即可调用


Tags:

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

欢迎 发表评论:

最近发表
标签列表