Cómo aplicarle TDD al método RemoveItem

Autor: | Última modificación: 14 de agosto de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

El método RemoveItem es una función crucial de la API de almacenamiento web que nos permite eliminar datos del almacenamiento local de nuestro navegador. Aunque pueda parecer un método simple, asegurarnos de su correcto funcionamiento es vital para garantizar una buena experiencia de usuario y la integridad de los datos en nuestra aplicación.

Imagina que estás creando una aplicación de notas y quieres permitirle a los usuarios eliminar las que ya no necesitan. Usarías el método removeItem() para eliminar la nota del almacenamiento local. Sin embargo, ¿cómo puedes estar seguro de que la nota se elimina correctamente y de que no quedan restos en el almacenamiento que puedan causar problemas más adelante? Aquí es donde el TDD se aplica. Podrías escribir una prueba que añada una nota, la elimine y luego compruebe que ya no está en el almacenamiento. Si esa prueba falla, sabrás exactamente dónde está el problema antes de seguir adelante.

¿Por qué el Test Driven Development (TDD)?

El TDD es una metodología de desarrollo que nos ayuda a escribir un código más limpio, seguro y fácil de mantener. Con TDD, comenzamos escribiendo pruebas que fallan para cada nueva funcionalidad antes de escribir el código que hará que pasen.

Beneficios del TDD

  • Calidad de código: nos ayuda a evitar bugs y asegura que nuestro código haga lo que se supone que debe hacer.
  • Documentación viva: los test son una gran forma de documentación que siempre estará actualizada.
  • Facilita el mantenimiento: al tener un set de pruebas que verifican nuestro código, podemos refactorizar o añadir funcionalidades con la seguridad de que no vamos a romper nada.

Aplicar TDD al método RemoveItem

Entonces, ¿cómo aplicamos TDD al método RemoveItem? ¡Vamos a verlo paso a paso!

Escribe la prueba

Nuestra tarea es escribir una prueba que verifique que el método removeItem() hace lo que se supone que debe hacer: eliminar un ítem del almacenamiento local dado su nombre.

test('should remove item from localStorage', () => {
  // Arrange
  const key = 'testKey';
  localStorage.setItem(key, 'testValue');
  
  // Act
  storage.removeItem(key);
  
  // Assert
  const result = localStorage.getItem(key);
  expect(result).toBeNull();
});

Esta prueba primero agrega un ítem al almacenamiento local usando la clave ‘testKey’ y luego intenta eliminarlo usando el método removeItem(). Finalmente, verifica que el ítem ya no está en el almacenamiento local.

Ejecuta la prueba y comprueba que falla

Al ejecutar la prueba, debe fallar, porque aún no hemos implementado la funcionalidad que estamos probando.

Implementa la funcionalidad

Ahora que tenemos una prueba que falla, nuestro trabajo es escribir el código que haga que pase.

function removeItem(key) {
  localStorage.removeItem(key);
}

Ejecuta la prueba de nuevo

Ahora que hemos implementado la funcionalidad, ejecutamos la prueba de nuevo. Si todo ha ido bien, la prueba debería pasar.

Anímate a seguir aprendiendo con nosotros

Como puedes ver, aplicar TDD al método RemoveItem no es tan complicado como puede parecer. En realidad, TDD es una poderosa herramienta que nos ayuda a escribir un código más robusto y mantenible. Además, nos ofrece una gran seguridad cuando necesitamos modificar nuestro código, ya que cualquier error que introduzcamos será detectado por nuestros test.

Este es solo un ejemplo de las habilidades y conocimientos que podrás adquirir si decides unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. Al superar esta formación intensiva, no solo tendrás un cambio de vida, sino que también estarás listo para enfrentarte a cualquier reto que el sector tecnológico te pueda presentar. ¡Solicita información y da el paso que impulsará tu futuro!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

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