Sinon: Stub variables globales

Creado en 7 ene. 2019  ·  3Comentarios  ·  Fuente: sinonjs/sinon

Los módulos que quiero probar y/o simular usan algunas variables globales.

Por ejemplo, el código fuente del módulo hace referencia a una variable session , que no está definida en ninguna parte pero está disponible en tiempo de ejecución.

Considere el módulo globals.js :

let globals = {
    contextName: "DATA_PIPELINE",
    reportContext: "report",
    session: session
};

module.exports = globals;

session no está definido en este archivo pero está disponible en tiempo de ejecución. Es una variable global del entorno (no bajo mi control).

Noté que con temporizadores falsos, ha logrado reemplazar la implementación de funciones globales como setTimeout. ¿Cómo podríamos aplicar esto a cualquier función/objeto global?

Todos 3 comentarios

¿Tal vez sinon.replace(object, prop, replacement) es lo que estás buscando?
https://sinonjs.org/releases/v7.2.4/sandbox/#sandboxreplaceobject -property-replacement

Estamos tratando de mantener la lista de problemas de GitHub ordenada y enfocada en errores y discusiones sobre características. Este ticket parece una pregunta de uso; publíquelo en StackOverflow y etiquételo con sinon , para que la comunidad en general pueda ayudarlo a responder sus preguntas.

En Node.js, puede hacer algo como:

global.session = sinon.stub();
// Proceed to import the modules that use the session global and run the tests
¿Fue útil esta página
0 / 5 - 0 calificaciones