इस बात पर निर्भर करता है कि आप अपने कोड को कैसे व्यवस्थित कर सकते हैं, एक और विकल्प एनव चर को रनटाइम में निष्पादित होने वाले फ़ंक्शन के भीतर रखा जा सकता है।
इस फ़ाइल में, 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(...