首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python文档25-fixture的作用范围

前言

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

fixture作用范围

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

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

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

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

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

scope=”function”

@pytest.fixture()如果不写参数,默认就是scope=”function”,它的作用范围是每个测试用例来之前运行一次,销毁代码在测试用例运行之后运行。

运行结果:

用例放到类里面也一样

scope=”class”

fixture为class级别的时候,如果一个class里面有多个用例,都调用了此fixture,那么此fixture只在该class里所有用例开始前执行一次

运行结果:

scope=”module”

fixture为module级别时,在当前.py脚本里面所有用例开始前只执行一次

运行结果

scope=”session”

fixture为session级别是可以跨.py模块调用的,也就是当我们有多个.py文件的用例时候,如果多个用例只需调用一次fixture,那就可以设置为scope=”session”,并且写到conftest.py文件里

conftest.py文件名称是固定的,pytest会自动识别该文件。放到工程的根目录下,就可以全局调用了,如果放到某个package包下,那就只在该package内有效

test_fixture11.py和test_fixture12.py用例脚本

如果想同时运行test_fixture11.py和test_fixture12.py,在cmd执行

pytest -s test_fixture11.py test_fixture12.py

——pytest结合selenium自动化完整版————

全本购买方式,百度搜索:百度阅读

再搜索:pytest

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181015G1MGPU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券