Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!