Skip to content

Instantly share code, notes, and snippets.

@hiroki-uchida
Last active December 19, 2022 05:04
Show Gist options
  • Save hiroki-uchida/d5625e93fd892ee3296197c9feab53df to your computer and use it in GitHub Desktop.
Save hiroki-uchida/d5625e93fd892ee3296197c9feab53df to your computer and use it in GitHub Desktop.
Jestでprocess.envに依存したテストを書く

Jestでprocess.envに依存したテストを書く

Jestprocess.env に依存したテストを書くには、次のような方法があります。

  1. テストを実行する前に、 process.env プロパティを手動で設定する
  2. setupTestFrameworkScriptFile を使用して、 Jest が自動的に環境変数を設定するようにする
  3. setupFiles オプションを使用して、 Jest で環境変数を設定する
  4. setupFilesAfterEnv オプションを使用して、 Jestで環境変数を設定する

上記のいずれかの方法を使用することで、Jestprocess.env に依存したテストを書くことができます。

1. テストを実行する前に、 process.env プロパティを手動で設定する

テストを実行する前に、process.env プロパティを手動で設定することで、そのテストに必要な環境変数を設定できます。

例:

beforeEach(() => {
  process.env.VARIABLE_NAME = 'value';
});

2. setupTestFrameworkScriptFile を使用して、 Jest が自動的に環境変数を設定するようにする

Jest では、 process.env を使用するテストを実行する前に、自動的に環境変数を設定することができるように、 setupTestFrameworkScriptFile を使用することもできます。

例:

// test/setup-env.js

beforeEach(() => {
  process.env.VARIABLE_NAME = 'value';
});
// jest.config.js

module.exports = {
  setupTestFrameworkScriptFile: '<rootDir>/test/setup-env.js',
  // ...
};

3. setupFiles オプションを使用して、 Jest で環境変数を設定する

Jest では、 process.env を使用するテストを実行する前に、環境変数を設定するためのsetupFiles オプションも提供されています。

例:

// jest.config.js

module.exports = {
  setupFiles: ['<rootDir>/test/setup-env.js'],
  // ...
};

4. setupFilesAfterEnv オプションを使用して、 Jestで環境変数を設定する

最後に、 Jest では、process.env を使用するテストを実行する前に、環境変数を設定するための setupFilesAfterEnv オプションも提供されています。

例:

// jest.config.js

module.exports = {
  setupFilesAfterEnv: ['<rootDir>/test/setup-env.js'],
  // ...
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment