【pytest官方文档学习】覆盖全局变量的示例代码在8.2.x版本运行报错

我们经常会在conftest.py中定义一些fixture提供给测试方法使用,但是在有些测试中,我们用不上或者需要对其结果进行处理后再用,这时候,就需要我们对fixture进行覆盖或重写。

在学习pytest-8.2.x官方文档看到了它给出的覆盖全局fixture的示例如下:

python 复制代码
tests/
    conftest.py
        # content of tests/conftest.py
        import pytest

        @pytest.fixture
        def username():
            return 'username'

    test_something.py
        # content of tests/test_something.py
        def test_username(username):
            assert username == 'username'

    subfolder/
        conftest.py
            # content of tests/subfolder/conftest.py
            import pytest

            @pytest.fixture
            def username(username):
                return 'overridden-' + username

        test_something_else.py
            # content of tests/subfolder/test_something_else.py
            def test_username(username):
                assert username == 'overridden-username'

我们可以看到,在subfolder/conftest.py文件中重写的"username " fixture访问了tests/conftest.py 文件中的"username "。

这种用法官方文档中也给出了解释:"Note that the base or super fixture can be accessed from the overriding fixture easily - used in the example above."说明官方是也是支持这么用的。

但是当我在pycharm中运行的时候,却报错了:

百思不得其解的时候,在网上看到了这位博主的文章【pytest-fixture】十一、覆盖各个级别的fixture_fixture级别-CSDN博客,发现他的运行是成功的,仔细看了他的运行环境,发现pytest版本是6.2.5。莫非是pytest版本问题?

于是,我将环境也换成了他的版本,运行结果真的时PASSED。

这... 嗯...问题记录下来吧~~

相关推荐
用户7908600572610 分钟前
我让 AI 自己上了趟网:browser-use 的三个致命坑和 CDP 混合方案
python
安枳杦12 分钟前
把一个 FastAPI 网页塞进 macOS 的 Dock:Tauri 2 + PyInstaller 实战
python
像风一样自由202013 分钟前
3.Dockerfile如何构建一个Python算法镜像
开发语言·人工智能·python·大模型
Dmz丶35 分钟前
前端转 AI 100 天 Day 36:Prompt 工程入门——从“感觉对了就行”到方法论
python
日日大王学编程1 小时前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
CCblandy1 小时前
缓存淘汰实测:一次全表扫描把 LRU 命中率从 46% 打到 38%,W-TinyLFU 守住 50% 却贵 11 倍
后端·python·缓存·性能优化·架构
汤米粥2 小时前
cmd手动创建的Django项目怎么用社区版Pycharm运行起来
python·pycharm·django
涵玥2 小时前
python题目练习12-小玉家的电费//小玉在游泳//小鱼的航程
python·python每日一练·洛谷题目
计算机毕业编程指导师2 小时前
基于深度学习的花卉图像分类识别系统(PyTorch + ResNet50 + Django)
pytorch·python·深度学习·分类·毕业设计·迁移学习·图像分类
2601_962885722 小时前
vnpy 用什么数据源?A 股历史行情接入与 BarData 映射
python