DEV Community

Cristian Fernando
Cristian Fernando

Posted on

 

Paracetamol.test.js馃И| #8: Testea este c贸digo JavaScript

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);
});
Enter fullscreen mode Exit fullscreen mode

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.


Oldest comments (1)

Collapse
 
duxtech profile image
Cristian Fernando • Edited

Respuesta:
D. Ambos pasan los test

Tanto toBeGreaterThan() como toBeGreaterThanOrEqual() 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 que 3; 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 que
  • toBeLessThanOrEqual(): menor o igual que

Dichos 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.

React vs Signals: 10 Years Later

React vs Signals

鈽濓笍 Check out this popular discussion about React