li三水 2022-02-19 14:14
浏览 356
已结题

pytest给一个fixture加上scope="session"后报错

问题遇到的现象和发生背景

fixture_1类似于做接口检验的功能
fixture_2类似于登录
test_01为登录函数
test_02与test_03为需要登录后才可以请求的接口

我将fixture_2的scope改为=“session”后报错

问题相关代码,请勿粘贴截图
import pytest


@pytest.fixture()
def fixture_1():
    print("fixture_1")


@pytest.fixture(scope="session")
def fixture_2(fixture_1):
    test_01(fixture_1)
    print("fixture_2")



def test_01(fixture_1):
    print("test01")

def test_02(fixture_1,fixture_2):
    print("test_02")

def test_03(fixture_1,fixture_2):
    print("test_03")

运行结果及报错内容

ScopeMismatch: You tried to access the function scoped fixture fixture_1 with a session scoped request object, involved factories:
PycharmProjects\test\tests\111.py:9: def fixture_2(fixture_1)
PycharmProjects\test\tests\111.py:4: def fixture_1()

我的解答思路和尝试过的方法

去除掉=session后可以运行,但运行test_)02跟tes_03后每次都会先运行test01,这跟我的初衷违背

我想要达到的结果

每一个test都会有fixture1,除去test01,剩余接口都会请求到fixture2,但希望fixture2是session级别的

  • 写回答

2条回答 默认 最新

  • 有问必答小助手 2022-02-21 10:26
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月21日
  • 创建了问题 2月19日

悬赏问题

  • ¥15 关于 S7-PLCSIM Advanced 5.0本地TCP连接无法读写数据
  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
  • ¥15 druid(相关搜索:数据库|防火墙)
  • ¥15 大一python作业
  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥60 如何鉴定微信小程序数据被篡改过
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下