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

488
Views
Jest no puede encontrar .env.local para MONGO_URI

Tengo una aplicación NextJS que usa MongoDB. Acabo de agregar Jest para probar. Cuando ejecuto la primera prueba me sale el siguiente error:

Defina la variable de entorno MONGODB_URI dentro de .env.local

 4 | 5 | if (!MONGODB_URI) { > 6 | throw new Error('Please define the MONGODB_URI environment variable inside .env.local'); | ^ 7 | }

Tengo un archivo .env.local que tiene MONGODB_URI y funciona cuando ejecuto mi aplicación localmente y en prod.

Esta es la prueba:

 import React from 'react'; import ReactDom from 'react-dom'; import Home from '../../pages/index'; import { configure, shallow } from 'enzyme'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; configure({ adapter: new Adapter() }); describe('<Home />', () => { it('should render Home', () => { const wrapper = shallow(<Home />); console.log('wrapper :', wrapper.debug()); }); });

Mi jest.config.js:

 module.exports = { clearMocks: true, coverageDirectory: 'coverage', moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js', '\\.(css|less)$': 'identity-obj-proxy' }, preset: '@shelf/jest-mongodb' };

¿Que me estoy perdiendo aqui?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

El .env.local no se carga en el entorno de prueba, ya que espera que las pruebas produzcan los mismos resultados para todos.

Pero aún puede usar variables de entorno para las pruebas.

1. Opción

Puede usar un archivo env.test y agregar lo siguiente a un archivo globalSetup.js

 ... import { loadEnvConfig } from '@next/env' export default async () => { const projectDir = process.cwd() loadEnvConfig(projectDir) } ...

Asegúrate de configurar el archivo globalSetup.js en el archivo jest.config.js :

 ... globalSetup: ['<rootDir>/test/globalSetup.js'] // path to file ...

Cuando ejecute sus pruebas, debería haber un registro en la consola:

 Loaded env from C:\Users\XXX\XXX\XXX\nextjs\.env.test

Más información aquí: Documentación de variables de entorno de Next.js

2. Opción

Puede usar el paquete dotenv para el entorno de prueba con el archivo env.local.

Agregue esto en su archivo jest-setup.js:

 import dotenv from 'dotenv' dotenv.config({ path: '.env.local' })
over 4 years ago · Santiago Trujillo Report

0

tendrá que pasar la opción setupFiles en jest.config.js

 module.exports = { setupFiles: ['env.local.config file'], }

para usar MONGODB_URI en las pruebas

over 4 years ago · Santiago Trujillo Report

0

en nextJS, uso .env.test para el entorno de prueba.

over 4 years ago · Santiago Trujillo Report
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!