pytest fixtures 的范围可以被覆盖吗?

Can the scope of pytest fixtures be overridden?

pytest内置fixture的作用域可以改变吗?

这不起作用:

@pytest.fixture(scope="class")
def myFixture(tmpdir):
    pass

... 因为 tmpdir 是函数范围的:

ScopeMismatch: You tried to access the 'function' scoped fixture 'tmpdir' with a 'class' scoped request object, involved factories

是否可以覆盖 pytest 内置装置的范围,这样我就可以获得 class 范围的 tmpdir 装置?

那不可能,

下一个版本将包含一个名为 tmpdir_factory

的会话范围的固定装置

并且还计划了一个 'any' 范围,每个范围都有一次固定装置