W zależności od tego, jak możesz zorganizować swój kod, inną opcją może być umieszczenie zmiennej env w funkcji wykonywanej w czasie wykonywania.
W tym pliku zmienna env jest ustawiana w czasie importu i wymaga dynamicznych wartości require
w celu przetestowania różnych zmiennych środowiska (zgodnie z opisem w tej odpowiedzi ):
const env = process.env.MY_ENV_VAR;
const envMessage = () => `MY_ENV_VAR is set to ${env}!`;
export default myModule;
W tym pliku zmienna env jest ustawiana w envMessage
czasie wykonywania i powinieneś być w stanie zmutować process.env bezpośrednio w swoich testach:
const envMessage = () => {
const env = process.env.MY_VAR;
return `MY_ENV_VAR is set to ${env}!`;
}
export default myModule;
Test 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(...