当前位置: 首页 > news >正文

如何做网站旅游产品分析网站收录一般多久

如何做网站旅游产品分析,网站收录一般多久,绵阳市建设厅官方网站,北京做网站建设的公司3 pytest Fixture 3.1 通过 conftest.py 共享 fixture3.2 使用 fixture 执行配置及销毁逻辑3.3 使用 --setup-show 回溯 fixture 的执行过程3.4 使用 fixture 传递测试数据3.5 使用多个 fixture3.6 指定 fixture 作用范围3.7 使用 usefixtures 指定 fixture3.8 为常用 fixture …

3 pytest Fixture

  • 3.1 通过 conftest.py 共享 fixture
  • 3.2 使用 fixture 执行配置及销毁逻辑
  • 3.3 使用 --setup-show 回溯 fixture 的执行过程
  • 3.4 使用 fixture 传递测试数据
  • 3.5 使用多个 fixture
  • 3.6 指定 fixture 作用范围
  • 3.7 使用 usefixtures 指定 fixture
  • 3.8 为常用 fixture 添加 autouse 选项
  • 3.9 为 fixture 重命名
  • 3.10 Fixture 的参数化
  • 3.11 参数化 Tasks 项目中的 fixture

fixture 是在测试函数运行前后,由 pytest 执行的外壳函数,其中代码可定制,主要包括:

  • 定义传入测试中的数据集
  • 配置测试前系统的初始状态
  • 为批量测试提供数据源

请添加图片描述

3.1 通过 conftest.py 共享 fixture

fixture 可放在单独的测试文件中,也可在放在某公共目录下的 conftest.py 文件中供所在及其子目录下的多个测试文件共享

3.2 使用 fixture 执行配置及销毁逻辑

fixture 函数会在测试函数之前运行,但若含 yield,就会在 yield 处停止,转而运行测试函数,测试函数执行完毕后再回到 fixture,继续执行 yield 后面的代码

fixture 中 yield 之前的代码 --> 测试函数 --> fixture 中 yield 之后的代码

  • 即:fixture 中 yield 之前的代码 = setup;fixture 中 yield 之后的代码 = teardown
  • 注意:无论测试过程中发生什么,yield 之后的代码都会被执行

请添加图片描述

3.3 使用 --setup-show 回溯 fixture 的执行过程

使用 --setup-show 选项可展示测试过程中执行的是什么,以及先后顺序
请添加图片描述

3.4 使用 fixture 传递测试数据

除了堆栈跟踪的内容,pytest 还给出了具体引起 assert 异常的函数参数值

  • fixture 作为测试函数的参数,也会被堆栈跟踪并纳入测试报告

在这里插入图片描述
若 assert 异常(或任何类型的异常)就发生在fixture,仍可正确定位到,且报告为 ERROR(而不是 FAIL)
在这里插入图片描述

3.5 使用多个 fixture

请添加图片描述
使用 fixture 的优势在于:用户在编写函数时可以只考虑核心测试逻辑,而无需考虑测试前的准备工作

  • 注释中写 GIVEN/WHEN/ThHEN,fixture 中多写 GIVEN,可增加测试的可读性和可维护性

在这里插入图片描述

3.6 指定 fixture 作用范围

  • fixture 包含一个叫 scope可选参数,用于控制执行配置和销毁逻辑的频率,有4个待选值:
    • function(默认):每个测试函数运行一次
    • class:每个测试类运行一次
    • module:每个模块运行一次
    • session:每次会话运行一次
  • scope 参数是在定义而非调用 fixture 时定义的,即:使用 fixture 的测试函数无法改变其作用范围
  • fixture 只能使用同级别即以上的 fixture,如:类级别的 fixture 可使用类、模块和会话级别的 fixture,但不能使用函数级别的 fixture
    在这里插入图片描述

3.7 使用 usefixtures 指定 fixture

使用 fixture,除了以上在测试函数参数列表中指定 fixture 外,也可以用 pytest.mark.usefixtures('fixture1', 'fixture2') 标记测试函数或类

  • usefixtures 参数列表中的 fixture 为字符串,即需要加引号
  • usefixtures 对测试函数来讲意义不大,但非常适合测试类
  • usefixtures 不能使用 fixture 的返回值,但在测试方法中添加 fixture 参数的方式可以

在这里插入图片描述

3.8 为常用 fixture 添加 autouse 选项

autouse=True 可使作用域内的测试函数都运行该 fixture,而不需要指名调用
在这里插入图片描述

3.9 为 fixture 重命名

可以使用 @pytest.fixture()name 参数对 fixture 重命名

  • 重命名后原名不可用
    在这里插入图片描述
    pytest 的 --fixtures 选项可列举所有可供测试使用的 fixture,包括重命名的
    在这里插入图片描述

3.10 Fixture 的参数化

使用参数化 fixture,每个使用该 fixture 的测试函数都可以被运行多次

  • 未指定 id
    在这里插入图片描述
  • 以列表指定 id
    在这里插入图片描述
  • ids 参数也可以被指定为一个函数,供 pytest 生成 task 标识

3.11 参数化 Tasks 项目中的 fixture

之前 Tasks 项目用的数据库都是 TinyDB,现改为既可使用 TinyDB,也可使用 MongoDB

  1. fixture 装饰器中添加 params=['tiny', 'mongo']
  2. request 添加到 temp_db 参数列表中
  3. 将 db_type 的值设定为 request.param,避免直接使用 ‘tiny’ 或 ‘mongo’

在这里插入图片描述

http://www.dinnco.com/news/44806.html

相关文章:

  • 月夜直播视频免费观看seo赚钱方法大揭秘
  • 外贸网站定制制作公司广州网站优化方式
  • 网站的优化和推广方案怎么写网站营销策划公司
  • 丹东做网站哪家好推广策略包括哪些内容
  • 上海专业高端网站建设服务新站整站优化
  • 通许画册设计网站百度推广代理加盟
  • 金湖网页定制seo霸屏软件
  • wordpress 装饰模板徐州seo网站推广
  • 电子网站模板什么样的人适合做策划
  • 做网站郑州宁波网站推广
  • 上海公司做网站的seo知识分享
  • 古典网站建设株洲seo快速排名
  • html购物网站青岛网站seo诊断
  • 做本地房产网站宁波seo如何做推广平台
  • 官方网站建设的四个步骤新东方英语培训机构官网
  • 哪里有做响应式网站的长沙网站seo哪家公司好
  • 设计制造中国第一架飞机的人是江北关键词优化排名seo
  • 织梦网站日志百度如何推广广告
  • 西安企业免费建站深圳百度百科
  • 网站建设下一步工作计划网络广告推广方式
  • 集团网站建设哪家好源云推广
  • 网页设计师需要掌握的领域seo基础知识考试
  • 大型网站系统与java中间件实践 pdf市场推广方法
  • 如何做律所网站吉林seo排名公司
  • 专业建设网站哪家好百度搜索引擎排名规则
  • 本科生做网站编辑黄页推广2021
  • 东莞免费网站建站模板上海网络排名优化
  • 汕头企业网站怎么做怎么找平台推广自己的产品
  • 网站制作资讯西安seo网站优化
  • python做电商网站引擎搜索优化