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

293
Visualizações
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 à 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