TEMA 3 Flashcards
¿Qué es JUnit?
Es un framework para realizar pruebas unitarias automatizadas en proyectos Java.
¿Cuál es el objetivo principal de una prueba unitaria?
Verificar que una unidad de código (habitualmente un método o función) funciona como se espera.
¿Qué significa el patrón AAA en pruebas unitarias?
Significa Arrange (preparar entorno), Act (ejecutar método a probar), Assert (comprobar resultado esperado).
¿Qué hace la anotación @Test en JUnit?
Indica que el método siguiente es un test unitario que debe ser ejecutado por JUnit.
¿Cuándo se utiliza @BeforeEach en JUnit?
Cuando necesitamos ejecutar un método antes de cada método de prueba para preparar condiciones comunes.
¿Cuándo se utiliza @AfterEach en JUnit?
Cuando queremos ejecutar un método después de cada test para limpiar o resetear condiciones tras la ejecución.
¿Qué hace el método assertEquals() de JUnit?
Compara dos valores, uno esperado y otro real, y falla el test si ambos no coinciden.
¿Para qué sirve el método assertThrows() en JUnit?
Para comprobar que una excepción específica es lanzada durante la ejecución de un método.
¿Cuál es el plugin Maven que se encarga de ejecutar automáticamente los tests JUnit?
El plugin Maven Surefire.
¿Cuál es el beneficio principal de automatizar las pruebas con JUnit?
Permite ejecutar rápidamente muchas pruebas repetitivamente, detectando errores inmediatamente después de hacer cambios en el código.
¿Cuáles son los estados posibles tras la ejecución de un test JUnit?
Pasado (verde), fallado (rojo) o ignorado (gris).
¿Cómo podemos ignorar temporalmente un test en JUnit?
Usando la anotación @Disabled en la definición del método de prueba.
¿Puede JUnit verificar excepciones lanzadas durante un test?
Sí, mediante assertThrows() o especificando la excepción esperada en la anotación @Test (en versiones anteriores).
¿Cuál es el comando Maven para ejecutar todas las pruebas de un proyecto?
mvn test
¿Dónde deben colocarse los tests unitarios en un proyecto Maven?
En la carpeta src/test/java, separados claramente del código fuente.
¿Por qué las pruebas unitarias deben ser independientes entre sí?
Para que el resultado de una prueba no dependa del estado generado por otra prueba.
¿Qué hace exactamente el plugin Maven Surefire?
Ejecuta automáticamente todos los tests unitarios definidos en un proyecto Maven.
¿Es posible ejecutar una prueba unitaria específica desde Maven?
Sí, usando: mvn test -Dtest=ClaseTest#metodoTest
¿Qué sucede cuando una prueba falla en un proyecto Maven?
La fase de test del ciclo de vida Maven falla, provocando que la construcción también falle.
¿Qué significa que una prueba sea determinista?
Que siempre produce el mismo resultado con las mismas entradas y condiciones iniciales.