我偶然发现了this没有答案的问题。 OP要求解压几个变量(使用pytest fixture)并使它们的本地名称可用于测试功能。我以为我有一个干净的解决方案,涉及自动解压缩字典:
import pytest
@pytest.fixture
def my_fix():
return {"A" : 4, "B": 6 }
def test_something(my_fix):
locals().update(my_fix)
assert A == 4
assert B == 6
这受到Quora中this回答的启发。当我使用pytest运行此测试时,它失败了,因为似乎没有名为A
或B
的局部变量!
有谁愿意阐明为什么会这样?此外,我们将非常感谢对原始问题的回答。