返回顶部
首页 > 资讯 > 精选 >pytest中fixtures调用fixtures及fixture复用性实例分析
  • 446
分享到

pytest中fixtures调用fixtures及fixture复用性实例分析

2023-06-30 18:06:53 446人浏览 泡泡鱼
摘要

本篇内容介绍了“pytest中fixtures调用fixtures及fixture复用性实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

本篇内容介绍了“pytest中fixtures调用fixtures及fixture复用性实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

fixtures调用其他fixtures及fixture复用性 

pytest最大的优点之一就是它非常灵活。

它可以将复杂的测试需求简化为更简单和有组织的函数,然后这些函数可以根据自身的需求去依赖别的函数。

fixtures可以调用别的fixtures正是灵活性的体现之一。

一、Fixtures调用别的Fixtures

直接看一个简单示例:

import pytest# Arrange@pytest.fixturedef first_entry():    # 这是一个fixture函数,返回值:"a"    return "a"# Arrange@pytest.fixturedef order(first_entry):    # 这是另一个fixture函数,请求了上一个fixture函数first_entry(),    # 并且把first_entry()的返回值,放进了列表[]里,最后返回    return [first_entry]def test_string(order):    # Act    # 测试函数中请求了第二个fixture函数order,可以拿到返回的[]    order.append("b")    # Assert    assert order == ["a", "b"]

可以看到,pytest中的某个fixture请求别的fixture,就像测试函数请求fixture一样,所有的请求规则都适用。

同样,如果这些事情换我们自己来做的话,应该是下面这样子:

def first_entry():    return "a"def order(first_entry):    return [first_entry]def test_string(order):    # Act    order.append("b")    # Assert    assert order == ["a", "b"]entry = first_entry()the_list = order(first_entry=entry)test_string(order=the_list)

二、Fixtures的复用性

pytest中的fixtures还可以让我们像使用普通函数一样,能够定义反复重用的通用setup步骤。

两个不同的测试函数可以请求相同的fixture,每个测试函数都会获得该fixture的各自结果。

这样的优点就是,确保不同的测试函数之间不会相互影响。

我们可以使用这种机制来确保每个测试函数都获得各自新的、干净的、一致的数据。

import pytest# Arrange@pytest.fixturedef first_entry():    return "a"# Arrange@pytest.fixturedef order(first_entry):    return [first_entry]def test_string(order):    # Act    order.append("b")    # Assert    assert order == ["a", "b"]def test_int(order):    # Act    order.append(2)    # Assert    assert order == ["a", 2]

从代码可以看出,fixture函数order虽然先后被两个测试函数调用,但是每次被调用给出的结果都是一样的。并不会因为在测试函数test_string中,进行了order.append("b")后,就影响了order在测试函数test_int中的返回值。

同样,这些事情换成我们自己来做,那就是这样的:

def first_entry():    return "a"def order(first_entry):    return [first_entry]def test_string(order):    # Act    order.append("b")    # Assert    assert order == ["a", "b"]def test_int(order):    # Act    order.append(2)    # Assert    assert order == ["a", 2]entry = first_entry()the_list = order(first_entry=entry)test_string(order=the_list)entry = first_entry()the_list = order(first_entry=entry)test_int(order=the_list)

接下来,继续跟着官方文档解读fixtures的特点:一次请求多个fixtures、fixtures被多次请求。

“pytest中fixtures调用fixtures及fixture复用性实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: pytest中fixtures调用fixtures及fixture复用性实例分析

本文链接: https://lsjlt.com/news/330639.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pytest中fixtures调用fixtures及fixture复用性实例分析
    本篇内容介绍了“pytest中fixtures调用fixtures及fixture复用性实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2023-06-30
  • pytest官方文档解读fixtures调用fixtures及fixture复用性
    目录fixtures调用其他fixtures及fixture复用性 一、Fixtures调用别的Fixtures二、Fixtures的复用性fixtures调用其他fixt...
    99+
    2024-04-02
  • 怎么用pytest解读fixture有效性及跨文件共享fixtures
    这篇文章主要介绍“怎么用pytest解读fixture有效性及跨文件共享fixtures”,在日常操作中,相信很多人在怎么用pytest解读fixture有效性及跨文件共享fixtures问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-30
  • pytest fixtures函数及测试函数的参数化实例分析
    这篇文章主要介绍“pytest fixtures函数及测试函数的参数化实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pytest fixtures函数及测试函数的参数化实...
    99+
    2023-06-30
  • pytest自动化测试fixture的作用域实例化顺序及可用性
    目录1. fixture的作用域1.1 scope1.function:2.class:3.module:4.package:5.session:1.2 动态作用域(Dynamic ...
    99+
    2024-04-02
  • CSS的继承性及应用实例分析
    本篇内容介绍了“CSS的继承性及应用实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   CSS是...
    99+
    2024-04-02
  • android调用WebService实例分析
    本文实例讲述了android调用WebService的方法。分享给大家供大家参考。具体如下: WebService是一种基于SOAP协议的远程调用标准,通过webservice...
    99+
    2022-06-06
    WebService Android
  • react调用setstate实例分析
    这篇文章主要介绍“react调用setstate实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react调用setstate实例分析”文章能帮助大家解决问题...
    99+
    2024-04-02
  • jquery中ajax方法的参数属性及作用实例分析
    这篇“jquery中ajax方法的参数属性及作用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起...
    99+
    2024-04-02
  • dedecms中sql标签调用数据实例分析
    本文实例分析了dedecms中sql标签调用数据的方法。分享给大家供大家参考。具体分析如下: 在dedecms中我们可以有多种方法调用数据,如果最常用就是自身的标题,还有我们可以直接在模块中执行sql我们可以使用{ded...
    99+
    2022-06-12
    dedecms sql标签 调用 数据
  • vue中mounted调用的示例分析
    这篇文章主要为大家展示了“vue中mounted调用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中mounted调用的示例分析”这篇文章吧。在...
    99+
    2024-04-02
  • MYSQL 性能分析器 EXPLAIN 用法实例分析
    本文实例讲述了MYSQL 性能分析器 EXPLAIN 用法。分享给大家供大家参考,具体如下: 使用方法: EXPLAIN SELECT * FROM user; 环境和数据准备 -- 查看 MySQ...
    99+
    2022-05-27
    MYSQL 性能分析器 EXPLAIN
  • web常用数据结构及复杂度实例分析
    这篇文章主要介绍“web常用数据结构及复杂度实例分析”,在日常操作中,相信很多人在web常用数据结构及复杂度实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web常用数据结构及复杂度实例分析”的疑惑有所...
    99+
    2023-06-17
  • MySQL性能分析、及调优工具使用详解
    本文汇总了MySQL DBA日常工作中用到的些工具,方便初学者,也便于自己查阅。先介绍下基础设施(CPU、IO、网络等)检查的工具:vmstat、sar(sysstat工具包)、mpstat、oprofil...
    99+
    2024-04-02
  • Android调用堆栈跟踪实例分析
    本文实例讲述了Android调用堆栈跟踪的方法。分享给大家供大家参考。具体如下: Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的...
    99+
    2022-06-06
    堆栈 Android
  • Java新特性使用实例分析
    这篇文章主要介绍“Java新特性使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java新特性使用实例分析”文章能帮助大家解决问题。枚举:尽管在 JDK 5 中增加了枚举类型,但是 Cla...
    99+
    2023-06-27
  • 利用python调用摄像头的实例分析
    这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一、打开摄像头 import cv2 import numpy as np def video...
    99+
    2022-06-02
    python 调用摄像头
  • JavaScript中Require调用js的示例分析
    这篇文章主要介绍JavaScript中Require调用js的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在我最初开始写 JavaScript 函数时,通常是这样的:fun...
    99+
    2024-04-02
  • Vue3.0新特性以及使用的示例分析
    这篇文章给大家分享的是有关Vue3.0新特性以及使用的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么要升级 Vue3使用 Vue2.x 的小伙伴都熟悉,Vue2.x...
    99+
    2024-04-02
  • Android编程中Handler原理及用法实例分析
    本文实例讲述了Android编程中Handler用法。分享给大家供大家参考,具体如下: 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化。有...
    99+
    2022-06-06
    handler Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作