私はpytestを使用していconftest.pyでpytestを使って環境をmonkeypatchする方法は?
# reporter.py
from os import environ
from influxdb import InfluxDBClient
influxdb_client = InfluxDBClient(host=environ['INFLUXCLOUD_HOST'],
username=environ['INFLUXCLOUD_USERNAME'],
password=environ['INFLUXCLOUD_PASSWORD'],
ssl=True,
timeout=4*60)
def foo():
pass
私は私のメインのファイルにグローバルオブジェクトを持っていると私は、これらの環境変数に偽の値を設定したいです。私は私のテストファイルで、私はINFLUXCLOUD_HOSTがENVに欠けているKeyError
を取得import reporter
しかし
# conftest.py
import pytest
@pytest.fixture(scope='session', autouse=True)
def setup_env(monkeypatch):
monkeypatch.setenv('INFLUXCLOUD_HOST', 'host')
monkeypatch.setenv('INFLUXCLOUD_USERNAME', 'username')
monkeypatch.setenv('INFLUXCLOUD_PASSWORD', 'password')
、:私は私のconftest.pyで次があります。
なぜpytestはsetup_env
を実行し、私の環境をmonkeypatchしませんか?そうする方法はありますか?
テストファイルを表示して、インポートレポーターをどのように表示できますか? –