Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
¿Cómo configurar la prueba de unidad con mocha y mongodb-memory-server?

Estoy tratando de hacer un conjunto de casos de prueba con mocha y mongodb-memory-server (como una base de datos en la memoria). Estoy tratando de implementar esto de la siguiente manera.

Estructura del proyecto:

ingrese la descripción de la imagen aquí

corredor de prueba: (en paquete.json)

 "scripts": { "test": "mocha 'app/**/*.spec.js' --recursive --exit" },

Entonces, primero necesito inicializar MongoDB en la memoria, es por eso que estoy usando global.spec.js que se ve así,

 const { MongoMemoryServer } = require("mongodb-memory-server"); const mongoose = require("mongoose"); mongoose.set("usePushEach", true); let mongoServer; before(async function () { // mongod donwload on first time this.timeout(30 * 1000); mongoServer = new MongoMemoryServer(); const mongoUri = await mongoServer.getUri(); await mongoose.connect(mongoUri, {}); process.env.AGENDA_DB_URI = mongoUri; }); after(function () { mongoose.disconnect(); mongoServer.stop(); });

y un archivo test-setup.js que se parece a esto,

 const { MongoMemoryServer } = require("mongodb-memory-server"); (async function() { // trigger downloading mongodb executable on first time const mongoServer = new MongoMemoryServer(); await mongoServer.getUri(); mongoServer.stop(); })() .then(() => { process.exit(0); }) .catch(err => { console.error(err); process.exit(1); });

todos los archivos *.spec.js estarán dentro de la carpeta de modules . En palabras simples, cada carpeta dentro del módulo tendrá un archivo .spec.js . Si trato de ejecutar esto usando el npm run test , me está arrojando un error, que se ve así:

 1) "before all" hook 0 passing (448ms) 1 failing 1) "before all" hook: Uncaught Error: TypeError: logWarnFn is not a function

Creo que este error logWarnFn proviene de i18n. Pero cuando inicio el servidor, funciona bien.

versiones:

 "mongodb-memory-server": "^6.6.2", "mocha": "^6.0.2", "i18n": "0.8.3",
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda