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

154
Visualizações
¿Cómo configuro jsdom con broma?

Instalé jest y jsdom en mi proyecto de reacción, pero tengo problemas para importar un componente de reacción que usa la variable window.localStorage . He agregado un archivo de instalación para jsdom que creía que resolvería el problema.

He aquí mi arreglo:

configuración de broma en paquete.json

 "jest": { "verbose": true, "testEnvironment": "jsdom", "testURL": "http://localhost:8080/Dashboard/index.html", "transform": { "^.+\\.js$": "<rootDir>/node_modules/babel-jest", "^.+\\.jsx$": "<rootDir>/node_modules/babel-jest" }, "unmockedModulePathPatterns": [ "node_modules/react/", ], "moduleFileExtensions": [ "js", "jsx", "json", "es6" ] }

configuración.js

 import jsdom from 'jsdom'; const DEFAULT_HTML = '<html><body></body></html>'; global.document = jsdom.jsdom(DEFAULT_HTML); global.window = document.defaultView; global.navigator = window.navigator; global.localStorage = window.localStorage;

prueba.js

 'use strict'; import setup from './setup'; import React from 'react'; import jsdom from 'jsdom'; import Reportlet from '../components/Reportlet.jsx'; it('Ensures the react component renders', () => { });

Mi componente reportlet usa la variable localStorage pero grita:

Cannot read property getItem of undefined cuando llamo a localStorage.getItem(<some item>)

Leí aquí que jest viene con jsdom, pero no estoy seguro de si necesito la dependencia adicional de jsdom o no. También leí aquí que jsdom debe cargarse antes de requerir reaccionar por primera vez.

¿Alguien sabe cómo configurar jest con jsdom correctamente?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

jsdom no admite almacenamiento local. Parece que puede usar un código auxiliar compatible con nodos como 'node-localstorage'. Vea la parte inferior de los comentarios en https://github.com/tmpvar/jsdom/issues/1137

...o puedes simularlo con algo como https://github.com/letsrock-today/mock-local-storage

... o haga su propio simulacro como se ve aquí: ¿Cómo simular el almacenamiento local en las pruebas unitarias de JavaScript?

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