# memory: instinct-skipif-env-presence-depends-on-collection-order
env変数の有無でskipifすると、その変数を別モジュールのimport副作用が埋める場合に単体実行と全件実行で結果が変わる。DATABASE_URLを埋めるのはenv_config.setup_environment()で、そのテストモジュールのimportでは走らない。skipifはcollection時に評価されるため、単体実行ではskipされるが、全件実行では別モジュールがダミーDSNを入れるためskipされず失敗する。到達可能性は実際に試す必要があり、DSN・宛先は自前で解決する必要がある。
## ポイント
- env変数の有無でskipifすると、その変数を別モジュールのimport副作用が埋める場合に単体実行と全件実行で結果が変わる
- DATABASE_URLを埋めるのはenv_config.setup_environment()で、そのテストモジュールのimportでは走らない
- skipifはcollection時に評価されるため、単体実行ではskipされるが、全件実行では別モジュールがダミーDSNを入れるためskipされず失敗する
- 到達可能性は実際に試す必要があり、DSN・宛先は自前で解決する必要がある
## 関連ページ
[[instinct-secret-must-be-proven-to-authenticate]] [[instinct-rtk-hides-pytest-collection-errors]] [[instinct-alarm-name-vs-metric-mismatch]]
## 関連概念(未作成)
`テストの一貫性` `環境変数の管理` `pytestのcollection`
memory: instinct-skipif-env-presence-depends-on-collection-order