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

355
Views
TypeError: mxgraph no es una función cuando se ejecutan pruebas unitarias de Jest

Tengo un componente Vue JS que usa el paquete mxgraph : https://www.npmjs.com/package/mxgraph

y lo importa así:

 import * as mxgraph from 'mxgraph'; const { mxClient, mxStackLayout, mxGraph, mxRubberband, mxUtils, mxFastOrganicLayout, mxSwimlaneLayout, mxEvent, mxGraphModel, mxConstants, mxHierarchicalLayout, mxSwimlaneManager } = mxgraph(); // noinspection TypeScriptCheckImport import { mxConstants as MxConstants } from 'mxgraph/javascript/mxClient.js' import axios from 'axios';

Este es mi jest.config.js

 module.exports = { preset: "@vue/cli-plugin-unit-jest/presets/no-babel", moduleFileExtensions: ["js", "ts", "json", "vue"], transform: { ".*\\.(vue)$": "vue-jest", "^.+\\.tsx?$": "ts-jest" }, globals: { "ts-jest": { tsConfig: "src/tsconfig.json" } } };

Cuando ejecuto mis pruebas obtengo:

 TypeError: mxgraph is not a function 20 | import * as mxgraph from 'mxgraph'; 21 | > 22 | const { | ^ 23 | mxClient, 24 | mxStackLayout, 25 | mxGraph, at src/components/task/job/job_pipeline_mxgraph.vue:22:1 at Object.<anonymous> (src/components/task/job/job_pipeline_mxgraph.vue:568:3) at src/components/task/job/task_template_wizard_creation/step_attach_directories_task_template.vue:67:1 at Object.<anonymous> (src/components/task/job/task_template_wizard_creation/step_attach_directories_task_template.vue:367:3) at Object.<anonymous> (tests/unit/task/job/task_template_wizard_creation/step_attach_directories_task_template.spec.js:3:1)

La importación funciona bien cuando ejecuto mi aplicación usando mis archivos de configuración de paquetes web normales. ¿Hay algo que deba agregar a mi jest.config para corregir este error?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El paquete mxGraph npm siempre ha sido un desastre.

Tenga en cuenta que maxGraph , el sucesor de mxGraph, lo manejará: https://github.com/maxGraph/maxGraph

Como está usando Vue y su fragmento indica que está usando TypeScript, le sugiero que use https://github.com/typed-mxgraph/typed-mxgraph . Obtendrá tipos de TypeScript y una solución completamente funcional para la integración de mxGraph npm. El README proporciona ejemplos de uso completos y también hay demostraciones disponibles. Cuando use mxGraph en la prueba jest, según las partes de mxGraph que esté ejecutando, deberá usar el entorno jsdom en las pruebas relacionadas. Esto se debe a que mxGraph usa el objeto de window , que no está disponible con el entorno de node .

Si aún desea mantener el método js para la integración de mxGraph, puede consultar https://github.com/jgraph/mxgraph/issues/175#issuecomment-482008896 u otras preguntas de desbordamiento de pila (son muchas) .

about 4 years ago · Juan Pablo Isaza 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!