Залежно від того, як ви можете впорядкувати свій код, іншим варіантом може бути розміщення змінної env у функції, яка виконується під час виконання.
У цьому файлі env var встановлюється під час імпорту та вимагає динамічних require
s для тестування різних env vars (як описано у цій відповіді ):
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;
Тест Jest:
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(...