Abhängig davon, wie Sie Ihren Code organisieren können, kann eine andere Option darin bestehen, die env-Variable in eine Funktion einzufügen, die zur Laufzeit ausgeführt wird.
In dieser Datei wird die env-Variable zum Zeitpunkt des Imports festgelegt und erfordert dynamische require
s, um verschiedene env-Variablen zu testen (wie in dieser Antwort beschrieben ):
const env = process.env.MY_ENV_VAR;
const envMessage = () => `MY_ENV_VAR is set to ${env}!`;
export default myModule;
In dieser Datei wird die env var zur envMessage
Ausführungszeit festgelegt, und Sie sollten in der Lage sein, process.env direkt in Ihren Tests zu mutieren:
const envMessage = () => {
const env = process.env.MY_VAR;
return `MY_ENV_VAR is set to ${env}!`;
}
export default myModule;
Scherztest:
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(...