Ejecución de pruebas con GitHub Actions
Integre pruebas unitarias y de integración automatizadas en su canalización de CI para garantizar la calidad del código y evitar regresiones.
Ejecución de pruebas con GitHub Actions es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Por qué automatizar las pruebas en CI?
Imagine que realiza un cambio en su código y sabe inmediatamente si ha provocado algún problema en otra parte. ¡Ese es el poder de las pruebas automatizadas en su pipeline de CI!
La integración continua (CI) consiste en fusionar con frecuencia los cambios de código en un repositorio central. Las pruebas automatizadas son las guardianas de este proceso.
Detectan errores pronto, proporcionan comentarios rápidos y generan confianza con cada cambio de código.
Tipos de pruebas en su pipeline
Cuando hablamos de pruebas automatizadas, suelen aparecer dos tipos principales: pruebas unitarias y pruebas de integración.
- Pruebas unitarias: Se centran en partes pequeñas y aisladas del código, como una sola función o método. Son rápidas y permiten localizar los problemas con precisión.
- Pruebas de integración: Comprueban si distintas partes del sistema funcionan correctamente juntas, por ejemplo, cuando el código interactúa con una base de datos o una API.
Ambos tipos son fundamentales para garantizar que el software sea sólido y fiable.
Automatización de pruebas con GitHub Actions
GitHub Actions puede actuar como su propio ejecutor de pruebas y ejecutarlas automáticamente cada vez que envíe código nuevo.
Debe definir un flujo de trabajo que especifique cuándo se ejecutará, qué entorno utilizará y qué comandos ejecutará.
Esto garantiza que cada cambio se valide de forma coherente y sin esfuerzo manual.
Preparación de un proyecto Java para las pruebas
Para demostrarlo, utilizaremos un proyecto Java sencillo gestionado con Maven, una herramienta popular de automatización de compilaciones.
Maven ayuda a gestionar las dependencias del proyecto y proporciona comandos para compilar el código y ejecutar pruebas.
Nuestro proyecto tendrá una clase Java sencilla y una prueba JUnit correspondiente, a nivel conceptual.
Nuestro primer ejemplo de prueba ejecutable
Aquí tiene una clase Java sencilla y una prueba básica para comprobar su funcionamiento. Para simplificar, simularemos una prueba unitaria sin configurar JUnit por completo.
El método main actúa como nuestro ejecutor de pruebas y verifica si el método add funciona como se espera.
Intente ejecutarlo para ver el resultado.
public class Calculator {
// Method to be tested
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
Calculator calc = new Calculator();
// Simulate a test case
int expected = 5;
int actual = calc.add(2, 3);
if (actual == expected) {
System.out.println("Test Passed: 2 + 3 = " + actual);
} else {
System.out.println("Test Failed: Expected " + expected + ", Got " + actual);
}
}
}Creación del flujo de trabajo de pruebas
Ahora veremos cómo sería un archivo de flujo de trabajo de GitHub Actions (.github/workflows/test.yml) para ejecutar nuestras pruebas.
Este archivo YAML define los pasos que seguirá GitHub Actions para configurar el entorno y ejecutar los comandos de prueba.
Utilizaremos el comando test de Maven para ejecutar las pruebas JUnit reales de un proyecto.
name: Java CI with Maven
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Run Maven Tests
run: mvn test
Cómo funciona cada paso del flujo de trabajo
Analicemos los pasos clave de nuestro flujo de trabajo de pruebas:
on: push / pull_request: Activa el flujo de trabajo cuando se envía código o se crean solicitudes de incorporación de cambios para la ramamain.runs-on: ubuntu-latest: Especifica el sistema operativo de la máquina virtual, denominada ejecutor, en la que se ejecutará el flujo de trabajo.actions/checkout@v4: Es una acción prediseñada que obtiene el código del repositorio en el ejecutor.actions/setup-java@v4: Es otra acción que configura el kit de desarrollo de Java (JDK) en el ejecutor.run: mvn test: ¡Este es el paso crucial! Ejecuta el comando de Maven para compilar el código y ejecutar todas las pruebas definidas.
Gestión de fallos en las pruebas de CI
Una ventaja clave de las pruebas en CI es recibir comentarios de inmediato. Si alguna prueba falla, fallará el trabajo del flujo de trabajo de GitHub Actions.
Esto indica claramente que el cambio de código reciente ha introducido un error o una regresión.
A continuación, puede revisar los registros del flujo de trabajo para identificar exactamente qué prueba falló y por qué, lo que le ayudará a solucionar los problemas rápidamente.
El impacto: calidad y confianza
Integrar pruebas automatizadas en su pipeline de CI es un pilar fundamental del desarrollo de software moderno.
Previene activamente las regresiones, garantiza una calidad de código coherente y reduce considerablemente el riesgo de desplegar funcionalidades defectuosas.
Este proceso genera confianza en su base de código y permite que su equipo innove con mayor rapidez y fiabilidad.
Comprobación del flujo de trabajo de pruebas
Considere un flujo de trabajo de GitHub Actions diseñado para ejecutar pruebas. ¿Cuál es el objetivo principal del paso run: mvn test en un proyecto Java?
Resumen: pruebas en su pipeline de CI
En esta lección hemos explorado cómo integrar pruebas automatizadas en su pipeline de CI de GitHub Actions.
Hemos tratado los siguientes temas:
- La importancia de las pruebas automatizadas para la calidad del código.
- La diferencia entre las pruebas unitarias y las pruebas de integración.
- Cómo estructurar un flujo de trabajo de GitHub Actions para ejecutar pruebas de Java mediante Maven.
- La comprensión de pasos del flujo de trabajo como
checkoutysetup-java. - El papel fundamental de
mvn testen la ejecución de las pruebas. - Cómo informa GitHub Actions de los fallos en las pruebas.
¡Las pruebas automatizadas son cruciales para detectar errores pronto y mantener una base de código sólida!
Preguntas frecuentes
¿La lección «Ejecución de pruebas con GitHub Actions» es gratis?
Sí — el texto completo de «Ejecución de pruebas con GitHub Actions» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Ejecución de pruebas con GitHub Actions»?
Integre pruebas unitarias y de integración automatizadas en su canalización de CI para garantizar la calidad del código y evitar regresiones. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Ejecución de pruebas con GitHub Actions»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Activadores y eventos de workflows
- Ejecución de pruebas con GitHub Actions
- Linting y comprobaciones de calidad del código
- Almacenamiento en caché de dependencias para compilaciones más rápidas