首页 > 其他分享 >pytest的fixture

pytest的fixture

时间:2023-05-04 17:00:30浏览次数:47  
标签:函数 fixture pytest mysql test conn

1 什么是fixture

@pytest.fixture
def my_fruit():
    return Fruit("apple")

如上,用@pytest.fixture装饰的函数就是fixture

2 fixture的作用

我的理解是为test函数的运行提供数据、必要的环境支持等

3 fixture的定义与使用

fixture直接用于test函数

image

image

@pytest.fixture
def mysql_conn(url):
    return xxx
#提供一个mysql连接给到test,方便test查询mysql数据
def test_get_data(mysql_conn):
    conn = mysql_conn
    xxx

如上,pytest在执行test函数之前会检查test函数的参数,然后去fixture里面找有没有与参数同名的函数,有的话就会先执行fixture,然后在执行test函数,在test函数里面,用该参数就能获得它所表示的fixture的返回值

fixture 用于其他fixture之中

image
执行结果
image

pytest内置的fixture

pytest有自带许多fixture,不需要我们定义直接拿来用就行
https://docs.pytest.org/en/stable/reference/fixtures.html#built-in-fixtures
下面是tmpdir这个fixture
image

标签:函数,fixture,pytest,mysql,test,conn
From: https://www.cnblogs.com/MyRecords/p/17371796.html

相关文章

  • Pytest统计用例的个数并将测试结果群通知
    背景完成了公司的接口自动化测试,现在需要将测试结果,包括总的用例数、成功用例数、失败用例数等通知到公司的teams群,并且可以查看allure报告代码需要在项目根目录下的conftest.py文件中编写,运行时会自动统计用例,代码如下defpytest_terminal_summary(terminalreporter,exits......
  • pytest常用断言
    如上官网所说,pytest使用python中的assert来比较实际值与预期值,实现断言功能1常用的断言方式assertxxxasserta==basserta!=basserta>basserta<bassertainbassertanotinbassertinstance(a,int)asserta>banda>c同时断言多个条件asserta>bo......
  • 入门3-Pytest测试用例运行方式(1)Main方法运行
    通过主函数main方式执行If__name__== ‘__main__’:  Pytest.main({“--vs”})一般run.py里用main()方法,里边可以加参数 ......
  • pytest的几种执行方式
    1pytestxxxx2python-mpytestxxxxpython-mpytest--html=./report/rep2.htmltest_env_pytest_ini.py这个与pytest几乎是相同的,官网是这样说的3pythonpytestxxx这与python-mxxx很像,对于pytest执行结果来说没有区别,python-mxx如上截图所说,它会将当前工作目录......
  • pytest命令行选项
    一、pytest有很多命令行选项如-v输出详细信息-q简要输出-s打印输出-k"xxx"在filename、classname、functionname来匹配xxx规则,pytest只运行符合匹配结果的部分-mxx寻找具有xxmark的test来运行或不运行-x遇到失败即停止-nnum使用数量为nun的进程并行运行测试......
  • Pytest自动化测试框架常用参数
    一、常用参数1.指定执行文件/用例不带参数,仅带文件名/文件相对路径/文件绝对路径测试文件::测试类:执行指定类测试文件::测试类::用例:执行指定用例2.短命令选项-v:输出详细信息-q:简化输出信息-k:根据关键字表达式执行-x:失败则退出执行-m别名:只执行被标记的用例、-s:输出......
  • pytest---增加log日志(pytest.ini)
    前言在自动化操作过程中,我们可以通过增加log日志的情况进行更加直观的了解我们测试用例的执行情况,包括执行状态,方便排查问题和分析问题,前面有简单介绍pytest.ini这个文件,他可以帮助我们更加方便的执行测试用例,pytest.ini中有单独为log日志增加的一些信息log_clilog_cli:表示在执......
  • unittest&pytest区别对比
    导包:unittest:python自带,直接importunittest导包即可pytest:需要pip安装后import导入类名命名方式:unittest:随意,但是必须继承于unittest.TestCasepytest:需要以Test开头,不需要继承内置方法:unittest:setUpClass、tearDownClass方法前需要有@classmethod解释器,setUp、tearDown用法与......
  • pytest之.pytest_cache文件夹作用【Pytest中的cache缓存功能】
     前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。1、跑自动化时经常会出现这样一个情况,一轮自动化跑完后零星出现了几个失败测试用例,无法断定失败的原因,所以可能需要重新跑一下失败的测试用例去调试,那我们要做的是就去......
  • pytest
    Pycharm 内装pytest,Terminal内输入pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepytest#原命令pipinstallpytest,因为网速不好此处用清华网址的镜像Pytest文件命名规范.py测试文件必须以test_ 开头(或_test 结尾)测试方法必须以 test_ 开头测试类必......