Testea el siguiente código JavaScript
Dificultad: Básico
//arr.test.js
const filtrarPares = (arr) => {
return arr.filter((item) => item % 2 !== 0);
};
test("[1,2,3,4,5] => [1,3,5]", () => {
const res = filtrarPares([1, 2, 3, 4, 5]);
expect(res).toBe([1, 3, 5]);
});
A. ❌ FAIL tests, Object is equality. If it should pass with deep equality, replace "toBe" with "toStringEqual"
B. ✅ PASS tests, [1,2,3,4,5] => [1,3,5]
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
A.
❌ FAIL tests, Object is equality. If it should pass with deep equality, replace "toBe" with "toStringEqual"
Cuando hacemos test que involucren aserciones con arreglos u objetos tenemos que usar el matcher
toEqual
y no asítoBe
, si bien ambos hacen lo mismo, recuerda que lo datos no primitivos se comparan por referencia y no por valor.En palabras mas simples:
toBe
toEqual