es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La aserción AssertEqual está fallando.

Escribí un programa para comparar arrays e implementarlo sin método, como en Lodash. Todo funcionó correctamente, excepto la prueba que escribí para verificar mi resultado utilizando la función assertEqual, no sé por qué la prueba falla.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La prueba está fallando porque la función assertEqual está utilizando el operador de igualdad estricta (===) para comparar el resultado de la función without con un array literal [2, 3]. La función eqArrays que se utiliza dentro de la función assertEqual comprueba si los elementos y sus posiciones son los mismos en ambos arrays. Debido a que la comparación de objetos en JavaScript se realiza por referencia, el resultado de la función without, que es un nuevo objeto array, no es igual al array literal [2, 3].

    Para solucionar la prueba, necesitamos modificar la función assertEqual para usar la función eqArrays para comparar los dos arrays en lugar del operador de igualdad estricta. Aquí hay una versión actualizada de la función assertEqual:

    const assertEqual = function (actual, expected) {
      if (eqArrays(actual, expected)) {
        console.log(`✅✅✅ Assertion Passed: ${actual} === ${expected}`);
      } else {
        console.log(`🛑🛑🛑 Assertion Failed: ${actual} !== ${expected}`);
      }
    };
    

    Con esta modificación, la prueba debería pasar.

Comments are closed.