¡Por favor, ayúdame! ¡He estado destrozando mi mente pero no puedo averiguar cómo debo insertar una variable! ¿Me equivoco? ¿Debo usar Espía?
¿Cómo debo probar este código?
module.exports = async () => { var variable = 'something'; var taskProcessor = require('taskprocessor'); try { taskProcessor(variable).then().catch(); //blah blah //blah blah //blah blah //blah blah } catch (error) { console.log(err); } };Antes que nada, debes saber qué es stub o spy (excluí los simulacros intencionalmente)
Usamos dobles para controlar el comportamiento de un método, luego cambiamos la dirección de la prueba para cubrir todas las rutas en nuestra prueba.
¡El espía envuelve la función, no reemplaza su funcionalidad! Pero con stub podemos definir la salida. Espía literalmente envía un espía dentro de tus enemigos (en este caso, tu código: D) para imitar el comportamiento de una entidad genuina y recopilar información para ti.
¡Ahora volvamos a tu pregunta!
Puede usar el módulo de reconexión en este caso. Desde su página de git
rewire agrega un setter y getter especial a los módulos para que pueda modificar su comportamiento para una mejor prueba de unidad. Puedes
- inyectar simulacros para otros módulos o globales como proceso
- inspeccionar variables privadas
- anula las variables dentro del módulo.