Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

292
Vistas
Cómo simular una variable global simple en Jest

Estoy intentando crear pruebas unitarias para una función que ya está escrita porque necesito agregarle un código nuevo. Esta función utiliza una variable de ámbito global, desArray , que se define varios cientos de líneas hacia arriba, cerca de la parte superior del archivo.

 var desArray = [];

Luego, esta variable se completa con una llamada ajax dentro de la función $(document).ready() .

 $(document).ready(function() { [...] $.ajax({ [...] success: function (response) { response.data.forEach(item => { desArray.push(item); }); [...] } }); [...] });

Obviamente, dado que estoy tratando de escribir pruebas unitarias, solo quiero "reemplazar" o, supongo, "simular" la variable desArray dentro de la prueba. De lo contrario, se convierte en una prueba de integración porque está llegando a las llamadas API y demás.

He encontrado mucha información sobre cómo simular funciones con Jest, pero casi nada sobre cómo simular una variable simple con Jest. Lo único que he encontrado es intentar anularlo en la prueba:

 global.desArray = [...];

Esto, lamentablemente, no funciona. La variable desArray sigue siendo una matriz vacía en la función que estoy probando.

¿Algunas ideas?

EDITAR: Como referencia, aquí está la función específica que quiero probar con mi prueba unitaria:

 /** * Populates the Weight Type dropdown * and pre-selects an option from its list based on criteria. * * @param {jQuery} selectElement The jQuery-wrapped Select element * @param {string[]} deliveredWeight Weight field from tender broken into an array * @param {string} weightTypeQualifier Code to identify the type of weight */ const preSelectWeightType = (selectElement, deliveredWeight, weightTypeQualifier) => { for (let c = 0; c < desArray.length; c++) { const thisOption = $(new Option(desArray[c].description, desArray[c].id)); selectElement.append(thisOption); if (desArray.length === 1) { thisOption.attr("selected", true); } if (desArray[c].description === deliveredWeight[1]) { thisOption.attr("selected", true); } if (weightTypeQualifier === desArray[c].qualifier) { thisOption.attr("selected", true); } } };
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda