18 Pruebas Unitarias y de Integracion Flashcards
¿Qué es una prueba unitaria en Java?
Una prueba automatizada que verifica el comportamiento de una unidad de código, generalmente un solo método o clase.
¿Qué framework se usa comúnmente para pruebas unitarias en Java?
JUnit.
¿Cómo se anotan los métodos de prueba en JUnit 5?
Con @Test.
¿Qué es Mockito?
Un framework para crear mocks y simular el comportamiento de dependencias en pruebas unitarias.
¿Qué anotación se usa para inyectar dependencias simuladas en Mockito?
@Mock y @InjectMocks.
¿Qué es una prueba de integración?
Una prueba que verifica la interacción entre múltiples componentes de una aplicación.
¿Cómo se ejecutan pruebas parametrizadas en JUnit 5?
Con @ParameterizedTest y @ValueSource o @CsvSource.
¿Qué es Test Driven Development (TDD)?
Un enfoque de desarrollo donde las pruebas se escriben antes del código de producción.
¿Cómo se verifica que un método lanza una excepción en JUnit?
Usando assertThrows().
¿Qué es un test fixture?
Un conjunto de condiciones preestablecidas para ejecutar pruebas.
¿Qué es Spring Boot Test?
Un módulo de Spring Boot para facilitar pruebas de aplicaciones Spring.
¿Cómo se anotan pruebas de integración en Spring Boot?
Con @SpringBootTest.
¿Qué es una prueba de extremo a extremo (E2E)?
Una prueba que simula el uso real del software verificando el flujo completo.
¿Qué es un stub en pruebas?
Un objeto simulado que devuelve respuestas predefinidas.
¿Cómo se evita que una prueba dependa de la base de datos real en Spring?
Usando bases de datos en memoria como H2 o utilizando @MockBean.
¿Qué herramienta permite medir la cobertura de pruebas en Java?
JaCoCo.
¿Qué es el patrón Given-When-Then en pruebas?
Un patrón que estructura pruebas en tres partes: configuración, acción y verificación.
¿Qué significa que una prueba es ‘flaky’?
Que su resultado varía sin cambios en el código, generalmente por dependencias externas.
¿Qué es un test doble?
Un término general para mocks, stubs y fakes usados en pruebas unitarias.
¿Cómo se ejecutan pruebas con Maven?
Usando el comando mvn test.