pytest で一時的に環境変数を設定する正しい方法2022年10月28日 11時37分10秒

環境変数を一つのテスト内でのみするには以下の構文。mock.patch.dict を使って一時的に値を設定し、テスト後に元に戻るようにする。
def test_special_env():
    with mock.patch.dict("os.environ", {"VAR": "ABC"}, clear=True):
        assert os.environ.get("VAR") == "ABC"

環境変数を変更するだけだったら、以下の形でも出来てしまうが、環境変数が変わったままになり、テストの実行の順序に依存したテストになってしまう。

def test_bad_env_example():
    os.environ["VAR"] = "BAD EXAMPLE"