# memory: instinct-monkeypatch-does-not-undo-direct-environ-writes
テスト関数がos.environに直接書き込むと、monkeypatchの自動ロールバックが機能せず、テストの実行順に依存する問題が発生する。env_configの整合性ガードを踏む可能性があり、CI環境で実行すると特に問題が顕在化する。
## ポイント
- monkeypatch.setenv/delenvはmonkeypatch自身が行った変更のみを戻す
- テスト関数がos.environに直接書き込むと、テスト終了後も残留する
- テストの実行順に依存するため、部分実行やテストファイルの追加で問題が顕在化する
- env/グローバル状態を書き換える関数をテストする場合、os.environ.copy()を取ってyield後にclear()+update()で戻すフィクスチャを噛ませる
- 検証は2ファイルを明示順で並べて実行する
## 関連ページ
[[instinct-sys-modules-mock-leaks-across-tests]] [[instinct-skipif-env-presence-depends-on-collection-order]]
## 関連概念(未作成)
`テストの実行順依存問題` `環境変数の整合性ガード` `CI環境でのテスト問題`
memory: instinct-monkeypatch-does-not-undo-direct-environ-writes