Ejercicio de programación con JavaScript: Pruebas unitarias
1h 0m
JavaScript: Implementa una calculadora con funciones aritméticas y pruebas unitarias con Jest para asegurar un código robusto y fiable.
Crea un archivo llamado
calculator.js
con las siguientes funciones:sum(a, b)
: suma dos númerossubtract(a, b)
: resta b de amultiply(a, b)
: multiplica dos númerosdivide(a, b)
: divide a entre b
Implementa cada función de la calculadora asegurándote de que validen sus entradas. Las funciones deben lanzar un error cuando reciban parámetros que no sean números.
Crea un archivo
calculator.test.js
para las pruebas unitarias. Importa las funciones de la calculadora al inicio del archivo.Implementa un conjunto de pruebas para la función
sum()
que verifique:- La suma de dos números positivos
- La suma de un número positivo y uno negativo
- Que se lance un error cuando algún parámetro no sea un número
Implementa pruebas similares para las funciones
subtract()
ymultiply()
.Para la función
divide()
, añade pruebas adicionales que verifiquen:- La división de dos números positivos
- La división con resultado decimal
- Que se lance un error específico cuando se intente dividir por cero
Organiza tus pruebas utilizando
describe()
para agrupar las pruebas relacionadas con cada función.Ejecuta las pruebas con el comando
npm test
y verifica que todas pasen correctamente.Analiza la cobertura de tus pruebas ejecutando
npm test -- --coverage
y asegúrate de que todas las funciones tengan una cobertura adecuada.Refactoriza tu código si es necesario para mejorar la calidad y legibilidad tanto de las funciones como de las pruebas.
Más ejercicios de programación con JavaScript
Evalúa tus conocimientos en JavaScript con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Array
Modificación de elementos DOM
Encapsulación
Manipulación DOM
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Funciones
Excepciones
Transformación con map()
Arrays y Métodos
Transformación con map()
Funciones flecha
Async / Await
Polimorfismo
Variables
Selección de elementos DOM
API Fetch
Encapsulación
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub