【pytest学习8】pytest的autouse参数

需要传入fixture的名称,如果用例都需要这个fixture,每个用例都进行传入fixture名称,这就比较麻烦了,有什么好的方法?当然fixture中的autouse就是控制传参范围。

autouse

autouse属于fixture参数中的其中一个,默认是为False,不会使作用域的方法全部都进行使用,当设置为True时,作用域范围内的用例都会进行执行fixture内容。

复制代码
复制代码
import pytest

@pytest.fixture(autouse=True)
def login():
    print('完成登录')
    yield
    print('退出登录')


class Test_01:
    def test_01(self):
        print('---用例01---')

    def test_02(self):
        print('---用例02---')


if __name__ == '__main__':
    pytest.main(['-vs'])
复制代码
复制代码

 

通过执行结果表明:当我们设置autouse参数为True时,默认测试作用域fixture内的测试函数都会全部执行。

混合使用

其实autouse设置为True和其他的fixture进行使用过程中是互不影响的,可以一起使用。

复制代码
复制代码
import pytest


@pytest.fixture(autouse=True)
def ti():
    print('每个测试用例都会执行!')


@pytest.fixture()
def login():
    print('\n完成登录')
    yield
    print('\n退出登录')


class Test_01:
    def test_01(self,login):
        print('---用例01---')

    def test_02(self):
        print('---用例02---')


if __name__ == '__main__':
    pytest.main(['-vs'])
复制代码
复制代码

 

posted @   陈晓猛  阅读(250)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示