自動使用フィクスチャが 1 つあるテスト モジュールがあります。
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 フィクスチャ内でクラスをインポートできないのはなぜですか
どうもありがとう