Pude conseguir process.env
que me aprueben correctamente en mis pruebas unitarias clonándolo y en un método de desmontaje restaurándolo.
Ejemplo usando Mocha
const env = Object.assign({}, process.env);
after(() => {
process.env = env;
});
...
it('my test', ()=> {
process.env.NODE_ENV = 'blah'
})
Tenga en cuenta que esto solo funcionará si process.env solo se lee en la función que está probando. Por ejemplo, si el código que está probando lee la variable y la usa en un cierre, no funcionará. Probablemente invalide el requisito almacenado en caché para probarlo correctamente.
Por ejemplo, lo siguiente no tendrá el env codificado:
const nodeEnv = process.env.NODE_ENV;
const fnToTest = () => {
nodeEnv ...
}