У process.env
моїх модульних тестах я зміг отримати належний удар, клонуючи його та відновлюючи його методом розірвання.
Приклад використання мокко
const env = Object.assign({}, process.env);
after(() => {
process.env = env;
});
...
it('my test', ()=> {
process.env.NODE_ENV = 'blah'
})
Майте на увазі, це буде працювати лише в тому випадку, якщо process.env читається лише у тій функції, яку ви тестуєте. Наприклад, якщо код, який ви тестуєте, читає змінну і використовує її в закритті, це не буде працювати. Ви, мабуть, визнаєте недійсним кешований вимога, щоб перевірити це належним чином.
Наприклад, у наступному не буде заглушено env:
const nodeEnv = process.env.NODE_ENV;
const fnToTest = () => {
nodeEnv ...
}