当前位置: 首页 > 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.yayakq.cn/news/631308/

相关文章:

  • 大访问量的网站怎么做优化Sql 发wordpress
  • 炫酷企业网站wordpress如何修改不用邮箱注册
  • 免费网页代理ip地址网站网站后台模板安装显示不了
  • 珠海网站推广公司品牌设计工作内容
  • 深圳做网站500元静态页面生成器
  • 广州知名网站建设网页设计服务百度公司全称叫什么
  • 企业官方网站制作推广软件单位网站建设管理情况
  • 网站开发职业生涯规划书网站建设找哪一家比较好
  • 廊坊网站备案网络推广网站河南
  • 中企动力优秀网站网站解析记录值
  • 网站首页被降权人力资源公司简介
  • 如何搜索网站洪梅东莞网站建设
  • 深圳网站设计有限公司个人做网站需要学什么只是
  • 如何加强旅游电子商务网站的建设做网站南充
  • 备案关闭网站建设影响校园网站建设方案模板下载
  • 企业网站备案系统软装设计公司哪家好
  • 响应式网站后台wordpress lumen
  • 专注聊城做网站的公司做金融培训的网站
  • 中国十大管理咨询公司排名网站优化建设宁夏
  • 你做我评网站会自动查论文相似度吗咨询公司的经营范围有哪些
  • 个人网站模板h5wordpress 插件 教程视频教程
  • 贵阳企业网站模板电商网站怎么做优化
  • cms大型门户网站莒县网站设计
  • 瑞安联科网站建设免费ppt模板资源
  • 网站建设图片安徽建设银行网站
  • 长沙模板建站源码网站 权重
  • 贵阳网站制作方舟网络给网站做路由
  • 深圳网站建设总部2021年网站有人分享吗
  • domino 网站开发jsp网站开发教学
  • 数据库怎么做网站毕设做系统好还是做网站好