TEMA 3 Flashcards

1
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué es JUnit?

A

Es un framework para realizar pruebas unitarias automatizadas en proyectos Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cuál es el objetivo principal de una prueba unitaria?

A

Verificar que una unidad de código (habitualmente un método o función) funciona como se espera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué significa el patrón AAA en pruebas unitarias?

A

Significa Arrange (preparar entorno), Act (ejecutar método a probar), Assert (comprobar resultado esperado).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué hace la anotación @Test en JUnit?

A

Indica que el método siguiente es un test unitario que debe ser ejecutado por JUnit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cuándo se utiliza @BeforeEach en JUnit?

A

Cuando necesitamos ejecutar un método antes de cada método de prueba para preparar condiciones comunes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuándo se utiliza @AfterEach en JUnit?

A

Cuando queremos ejecutar un método después de cada test para limpiar o resetear condiciones tras la ejecución.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué hace el método assertEquals() de JUnit?

A

Compara dos valores, uno esperado y otro real, y falla el test si ambos no coinciden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Para qué sirve el método assertThrows() en JUnit?

A

Para comprobar que una excepción específica es lanzada durante la ejecución de un método.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cuál es el plugin Maven que se encarga de ejecutar automáticamente los tests JUnit?

A

El plugin Maven Surefire.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cuál es el beneficio principal de automatizar las pruebas con JUnit?

A

Permite ejecutar rápidamente muchas pruebas repetitivamente, detectando errores inmediatamente después de hacer cambios en el código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cuáles son los estados posibles tras la ejecución de un test JUnit?

A

Pasado (verde), fallado (rojo) o ignorado (gris).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cómo podemos ignorar temporalmente un test en JUnit?

A

Usando la anotación @Disabled en la definición del método de prueba.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Puede JUnit verificar excepciones lanzadas durante un test?

A

Sí, mediante assertThrows() o especificando la excepción esperada en la anotación @Test (en versiones anteriores).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuál es el comando Maven para ejecutar todas las pruebas de un proyecto?

A

mvn test

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Dónde deben colocarse los tests unitarios en un proyecto Maven?

A

En la carpeta src/test/java, separados claramente del código fuente.

17
Q

¿Por qué las pruebas unitarias deben ser independientes entre sí?

A

Para que el resultado de una prueba no dependa del estado generado por otra prueba.

18
Q

¿Qué hace exactamente el plugin Maven Surefire?

A

Ejecuta automáticamente todos los tests unitarios definidos en un proyecto Maven.

19
Q

¿Es posible ejecutar una prueba unitaria específica desde Maven?

A

Sí, usando: mvn test -Dtest=ClaseTest#metodoTest

20
Q

¿Qué sucede cuando una prueba falla en un proyecto Maven?

A

La fase de test del ciclo de vida Maven falla, provocando que la construcción también falle.

21
Q

¿Qué significa que una prueba sea determinista?

A

Que siempre produce el mismo resultado con las mismas entradas y condiciones iniciales.