Testea el siguiente código JavaScript
Dificultad: Básico
//arr.test.js
const sum = (arr) => {
return arr.reduce((currrent, item) => {
return currrent + item;
}, 0);
};
test("[1,2,3,4,5] => regresa max 15", () => {
const value = sum([1, 2, 3, 4, 5]);
expect(value).toBeGreaterThan(3);
expect(value).toBeGreaterThanOrEqual(15);
});
A. toBeGreaterThan() y toBeGreaterThanOrEqual() no pansan los test
B. Solo toBeGreaterThan() pasa los test
C. Solo toBeGreaterThanOrEqual() pasa los test
D. Ambos pasan los test
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
D.
Ambos pasan los test
Tanto
toBeGreaterThan()
comotoBeGreaterThanOrEqual()
son matchers útiles para trabajar con números enteros.En este caso los nombres de los matchers son bastante intuitivos y todo el test se puede leer como si fuera una oración en ingles.
Con la sentencia
expect(value).toBeGreaterThan(3)
esperamos que el valor que retorna la función (que es la suma de todos sus elementos, para el ejemplo nos da 15) sea mas grande que3
; dicha premisa se cumple, por ello el test pasa.Con la sentencia
expect(value).toBeGreaterThanOrEqual(15)
esperamos nuevamente que el valor que retorna la función sea esta vez mas grande o igual que 15, entonces el test vuelve a pasar nuevamente.Finalmente recalcar que también existen los matchers opuestos, en este caso:
toBeLessThan()
: menor quetoBeLessThanOrEqual()
: menor o igual queDichos matchers funcionan de igual manera por lo que no veo necesario crear otro reto para incluirlos, me basta con mencionarlos para que puedas intuir su funcionamiento.