我有一个测试模块有一个 autouse 夹具
import pytest
@pytest.fixture(autouse=True):
def set_env_config(monkeypatch):
palladium_config = os.path.join(os.path.dirname(os.path.dirname(os.getcwd())), 'config.py')
monkeypatch.setenv('PALLADIUM_CONFIG', palladium_config)
from A import B
并且在此测试模块中的每个后续测试中都需要 B 类,但是对于任何测试都无法实现此导入。
另一方面,我只修补环境变量
@pytest.fixture(autouse=True):
def set_env_config(monkeypatch):
palladium_config = os.path.join(os.path.dirname(os.path.dirname(os.getcwd())), 'config.py')
monkeypatch.setenv('PALLADIUM_CONFIG', palladium_config)
并在每个测试用例中导入 B 类,它成功了。
这是为什么 ?为什么我不能在 autouse 夹具中导入类
多谢