Testar la función statistics.js [Ejercicio práctico]

Autor: | Última modificación: 8 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Quieres ejercitar tus habilidades testando la función statistics.js? En este post vas a descifrar cómo crear la función inicial y de qué formas puedes probarla. De esta manera, vas a poder reproducir el proceso que realizas en este ejercicio práctico en los próximos programas que tengas que desarrollar.

Testar la función statistics.js funciona como un punto de inicio para profundizar en los conocimientos y habilidades que necesitas para la creación de test o comprobaciones de extractos de código. Por tanto, no dejes pasar esta oportunidad de especializarte y lee este post hasta el final para saber cómo testar la función statistics.js.

Testar la función statistics.js

Función statistics.js

Vamos a darle forma a una función que nos cree la media de un array. Para ello, tenemos que utilizar el método array.reduce, que incluye parámetros como previo y actual. La suma de ambas variables deberá estar dividida entre la longitud del array para obtener la respuesta.

export const avg = function (array) {
          return array.reduce ((prev, curr) => (prev + curr), 0) / array.length
  }

Tester statistics.spec.j

Para crear un test de la función de statistics.js con Jest, podremos nombrarla con las etiquetas para este fin. Por ejemplo, podemos acompañar el nombre de la función con test o con spec. En este caso, nos decantamos por la segunda opción, es decir, specs.

Para empezar a ejecutar esta comprobación, primero tendremos que importar la media de la función de statics.js para comprobar cada uno de los resultados con las hipótesis que vayamos proponiendo.

El primer test que vamos a describir consiste en testar la función de manera que nos devuelva 1 al pasar el array 1,1. Recuerda que en describe debemos pasar una cadena descriptiva del test que vamos a realizar. Después, vamos a establecer el par de expect, que son las hipótesis de lo que necesitamos devolver. En este caso, debe ser igual a 1.

Después, podemos hacer un nuevo test, donde nos enfocamos en lo contrario. En este caso, podremos comprobar resultados que no deberían dar, como NaN, al pasar un array vacío. Lo que estaremos esperando será igual o será el NaN.

Por último, en el tercer test podemos hacer una comprobación en la que la función devuelva un número positivo cuando se pase un array que tenga solo números positivos. Para ello, también podremos sacar un grupo grande de expects para comprobar cada una de las situaciones que deberían devolvernos un número que sea igual o mayor a 0, es decir, un número positivo.

import {avg} from '/statics.js'

describe ('Testing the avg function', () => {
    it ('Should return 1 for input array [1,1]', () => {
          expect (avg ([1,1])).toEqual (1);
          expect (avg ([1,1])).toBe (1);
})

    it ('Should return NaN for input array []', () => {
         expect (avg ([])).toBeNaN();
          expect (avg ([])).toBe (NaN);
})
    it ('Should return a positive number for array with all positive numbers []', () => {
         expect (avg ([0,1])).toBegreaterThanOrEqual(0);
         expect (avg ([0, 1, 3, 44])).toBegreaterThanOrEqual(0);
         expect (avg ([1, 3, 44])).toBegreaterThanOrEqual(0);
         expect (avg ([1])).toBegreaterThanOrEqual(0);

})


Después de describir los test, solo tendrás que correrlos y ver cuál pasa y cuál no.

¿Cuál es el siguiente paso?

Ahora que has ejercitado tus habilidades con este ejercicio práctico, donde testamos la función statistics.js, seguramente querrás aprender muchísimo más sobre la realización de test o comprobaciones en tus programas de código. ¡Cuantos más ejercicios prácticos realices, mejores serán los resultados que obtengas!

Si quieres enfocarte en ampliar tus conocimientos y en seguir realizando ejercicios prácticos, te invitamos a apuntarte a nuestra formación en Desarrollo Web Full Stack Bootcamp, un curso de alta intensidad que te permitirá convertirte en un desarrollador exitoso en menos de un año. ¡Solicita más información y cambia tu futuro!

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado