コードを整理する方法に応じて、実行時に実行される関数内にenv変数を配置するという別のオプションがあります。
このファイルでは、env varはインポート時に設定され、require
さまざまなenv varをテストするために動的なsが必要です(この回答で説明されているように)。
const env = process.env.MY_ENV_VAR;
const envMessage = () => `MY_ENV_VAR is set to ${env}!`;
export default myModule;
このファイルでは、env varはenvMessage
実行時に設定されており、テストでprocess.envを直接変更できるはずです。
const envMessage = () => {
const env = process.env.MY_VAR;
return `MY_ENV_VAR is set to ${env}!`;
}
export default myModule;
ジェストテスト:
const vals = [
'ONE',
'TWO',
'THREE',
];
vals.forEach((val) => {
it(`Returns the correct string for each ${val} value`, () => {
process.env.MY_VAR = val;
expect(envMessage()).toEqual(...