Jest で環境変数をモックする方法


Node.js アプリケーションの信頼できるテスト フレームワークとして Jest を使用する場合、テストしようとしているコードが process.env でアクセスする環境変数を使用するという状況に陥る可能性があります.

最も簡単な方法は、 setEnvVars.js という名前のファイルを作成し、必要な環境変数を設定することです.次に例を示します.

// .jest/setEnvVars.js
process.env.SOME_VAR = 'something';
process.env.SECRET = 'shh-do-not-tell-to-anyone';
// etc...


このファイルを .jest フォルダーの下に配置することも良い方法だと思います.これにより、その中のすべてが Jest に関連していることがわかります.

より明確にするために、次のようなファイル構造が必要です.

|-- .jest
|   `-- setEnvVars.js
|-- jest.config.js
|-- package-lock.json
|-- package.json
|-- server.js


次に設定することは、jest.config.js を更新し、そのファイルを使用するように指示することです.

// jest.config.js
module.exports = {
  setupFiles: ['<rootDir>/.jest/setEnvVars.js'],
  // ... other configurations
};


以上です!テストを実行すると、コードはそれらのモック環境変数にアクセスできるようになります.