Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

505
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

0

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda