Creé una aplicación Node.js que exporta una función de validación. Cuando uso el validador en una prueba Jest. Jest se queja de que la validación no es una función. la función se exporta claramente y cuando hago clic en ella en VS Code, va directamente a la función. Aquí está la función de validación exportada en un archivo llamado validator.js:
// validator.js module.exports = { validate: (req) => { let policyType = req.body.policy_type; let length = req.body.term_length; if (!policyType) { return false; } if (!length) { return false; } return true; } };Luego introduzco la función en la prueba Jest de la siguiente manera:
const validate = require("./validator.js"); describe(“Validator Test", ()=> { test('Ensure expected return ', ()=>{ const req = {}; req.body.policy_type= ''; req.body.term_length= ''; //TypeError: validate is not a function expect(validate(req)).toEqual(expectedOut); })Jest se queja de que validar no es una función. Simplemente no sé por qué se queja de no encontrar la función que se puede encontrar en otras funciones en la aplicación del nodo. Busqué en línea pero no pude encontrar un caso de uso como el mío. Como soy bastante nuevo en Jest, agradecería cualquier ayuda para resolver esto. Gracias.
El module.exports funciona bien. El problema estaba relacionado con otra importación que no se resolvió en el validador.