En esta sección, aprenderás cómo probar y depurar tu proyecto en Dart. Las pruebas y la depuración son componentes esenciales del desarrollo de software, ya que aseguran que tu código funcione correctamente y te ayudan a identificar y corregir errores.
- Introducción a las Pruebas
1.1. ¿Qué son las Pruebas?
Las pruebas son procedimientos que verifican que tu código funcione como se espera. Existen varios tipos de pruebas, pero en este módulo nos enfocaremos en las pruebas unitarias y de integración.
1.2. Tipos de Pruebas
- Pruebas Unitarias: Verifican el funcionamiento de una unidad específica de código, como una función o un método.
- Pruebas de Integración: Verifican que diferentes unidades de código funcionen juntas correctamente.
- Configuración del Entorno de Pruebas
2.1. Instalación del Paquete test
Para realizar pruebas en Dart, utilizaremos el paquete test
. Puedes agregarlo a tu proyecto mediante el archivo pubspec.yaml
:
Luego, ejecuta el siguiente comando para instalar el paquete:
2.2. Estructura de Archivos de Pruebas
Es una buena práctica mantener tus archivos de pruebas en un directorio separado llamado test
. Por ejemplo:
- Escribiendo Pruebas Unitarias
3.1. Ejemplo de Prueba Unitaria
A continuación, se muestra un ejemplo de cómo escribir una prueba unitaria en Dart:
// Archivo: test/calculadora_test.dart import 'package:test/test.dart'; import '../lib/calculadora.dart'; void main() { group('Calculadora', () { test('sumar dos números', () { final calculadora = Calculadora(); expect(calculadora.sumar(2, 3), 5); }); }); }
3.2. Ejecutando Pruebas
Para ejecutar tus pruebas, utiliza el siguiente comando:
- Depuración
4.1. Uso de print
para Depuración
Una forma sencilla de depurar tu código es utilizando la función print
para mostrar valores en la consola:
4.2. Depuración con IDEs
La mayoría de los IDEs modernos, como Visual Studio Code y IntelliJ IDEA, tienen herramientas integradas de depuración que te permiten:
- Establecer puntos de interrupción (breakpoints): Pausar la ejecución del programa en una línea específica.
- Inspeccionar variables: Ver los valores de las variables en tiempo de ejecución.
- Paso a paso (step over, step into, step out): Ejecutar el código línea por línea para entender el flujo del programa.
4.3. Ejemplo de Depuración en Visual Studio Code
- Establecer un Punto de Interrupción: Haz clic en el margen izquierdo junto a la línea de código donde deseas pausar la ejecución.
- Iniciar la Depuración: Haz clic en el icono de depuración en la barra lateral y selecciona "Start Debugging".
- Inspeccionar Variables: Una vez que la ejecución se pausa, puedes ver los valores de las variables en el panel de variables.
- Ejercicios Prácticos
Ejercicio 1: Prueba Unitaria
Escribe una prueba unitaria para una función que multiplique dos números.
// Archivo: lib/multiplicadora.dart class Multiplicadora { int multiplicar(int a, int b) { return a * b; } }
Solución:
// Archivo: test/multiplicadora_test.dart import 'package:test/test.dart'; import '../lib/multiplicadora.dart'; void main() { group('Multiplicadora', () { test('multiplicar dos números', () { final multiplicadora = Multiplicadora(); expect(multiplicadora.multiplicar(2, 3), 6); }); }); }
Ejercicio 2: Depuración
Depura el siguiente código para encontrar y corregir el error:
Solución:
El error es una división por cero. Puedes corregirlo añadiendo una verificación antes de la división:
void main() { int a = 5; int b = 0; if (b != 0) { int resultado = a ~/ b; print('El resultado es $resultado'); } else { print('Error: División por cero'); } }
- Conclusión
En esta sección, has aprendido cómo escribir y ejecutar pruebas unitarias, así como técnicas básicas de depuración. Estas habilidades son cruciales para garantizar que tu código funcione correctamente y para identificar y corregir errores de manera eficiente. En el siguiente tema, aplicarás estas técnicas en el contexto del proyecto final, asegurando que todas las funcionalidades implementadas sean robustas y libres de errores.
Curso de Programación en Dart
Módulo 1: Introducción a Dart
- Introducción a Dart
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Dart
- Sintaxis y Estructura Básica