gpt4 book ai didi

python - Pytest 固定装置不应该被直接调用

转载 作者:行者123 更新时间:2023-12-04 16:44:48 31 4
gpt4 key购买 nike

我想在 conftest.py 中设置一个装置并与我所有的测试共享它。但是,在以下最小示例上运行 pytest 时遇到以下错误:

ERROR at setup of test_test 
Fixture "pytest_runtest_setup" called directly. Fixtures are not meant to be called directly,
but are created automatically when test functions request them as parameters.
conftest.py
import pytest
import os


@pytest.fixture
def pytest_runtest_setup():
print("hello ? ---------------------------------")
test.py
import pytest


def test_test():
assert True
pytest.ini
[pytest]
addopts = -rA -v -p no:faulthandler -W ignore::DeprecationWarning
Pytest 与 pytest test.py 一起推出
哪里都没有直接调用fixture函数,它甚至没有在示例测试中使用。那么为什么 pytest 会抛出这个,我如何在 conftest.py 中声明和使用设备?
环境:
  • Python 3.8.3
  • pytest-6.1.2
  • 最佳答案

    fixture 名称是pytest_runtest_setup ,这实际上是一个 hook你覆盖的,并且正在

    Called to perform the setup phase for a test item.


    所以直接调用。
    Pytest 6 不支持 calling fixture s directly

    Removed in version 4.0.

    Calling a fixture function directly, as opposed to request them in atest function, is deprecated.


    将 fixture 重命名为 runtest_setup (或其他任何东西)应该可以解决问题。

    关于python - Pytest 固定装置不应该被直接调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68160255/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com