¿Cómo me burlo o abrogué el valor de process.argv para que pueda devolver un argumento específico?
Intenté usar sandbox como este:
beforeEach(() => { sandbox.stub(process.argv.slice(2)[0], 'C:\\home\\project\\assignment').value('--local') }); test("it replace value of node argument", () => { assert(process.argv.slice(2)[0], '--local') }); afterEach(() =>{ sandbox.restore() })Pero sigo recibiendo un error que dice tratando de stub property * 'C:\home\project\assignment' * of undefined
Puede modificar el process.argv por programación. ver Modificar entorno de proceso de nodo o tiempo de ejecución de argumentos
const assert = require('assert'); describe('71476237', () => { let originalArgv; beforeEach(() => { originalArgv = process.argv; }); afterEach(() => { process.argv = originalArgv; }); it('it replace value of node argument', () => { process.argv = process.argv.concat(['node', 'C:\\home\\project\\assignment', '--local']); assert(process.argv.slice(2)[0], '--local'); }); });Resultado de la prueba:
71476237 ✓ it replace value of node argument 1 passing (3ms)