mock Flashcards

1
Q

¿Qué son los objetos simulados / dobles en POO?

A

Objetos que imitan el comportamiento de objetos reales de forma controlada

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

¿Qué permite el Patrón Proxy?

A

Permite proporcionar un sustituto para otro objeto.
Un proxy controla el acceso al objeto original, permitiendo hacer algo antes o después de que la solicitud llegue al objeto original.

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

¿Para qué sirven los mock objects?

A

Para pruebas de aislamiento

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

¿Qué es la inyección de dependencias?

A

Un mecanismo para que un objeto reciba sus dependencias desde el exterior

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

¿Qué promueve la inyección de dependencias?

A

Bajo acoplamiento y facilidad para testear

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

¿Qué permite sustituir la inyección de dependencias en los tests?

A

Las dependencias reales por simulaciones (mocks)

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

¿Cómo funciona la inyección por constructor?

A

Las dependencias se pasan como argumentos del constructor

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

¿Cómo funciona la inyección por setter?

A

Se usan métodos set públicos para establecer las dependencias

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

¿Qué es la inyección por campo?

A

El framework inyecta directamente las dependencias en los campos del objeto

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

¿Qué anotación suele usarse en la inyección por campo?

A

@Autowired

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

¿Cómo se pueden construir mocks?

A

Manualmente o con un framework

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

¿Qué requiere usar un framework como Mockito?

A

Aprender su sintaxis y API

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

¿Qué ventaja tienen los mocks manuales respecto a dependencias externas?

A

No requieren dependencias externas

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

¿Qué pasa con mockito respecto a dependencias externas?

A

Introduce una dependencia adicional (gestión de versiones, compatibilidad).

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

¿Qué desventaja tienen los frameworks frente a mocks manuales en términos de flexibilidad?

A

Están limitados para métodos estáticos, finales o privados

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

¿Qué pasa con los mocks manuales respecto a la flexibilidad?

A

Máxima flexibilidad, permite cualquier comportamiento sin restricciones.

17
Q

¿Cuál es una ventaja de los mocks con framework en mantenimiento?

A

Tests más concisos

18
Q

¿Cuál es una desventaja de los mocks manuales en mantenimiento?

A

Más código repetitivo y necesidad de actualizar los mocks

19
Q

¿Qué impacto tienen los frameworks en el rendimiento de los tests masivos?

A

Sobrecarga mínima por proxies dinámicos o reflexión en tests masivos.

20
Q

¿Qué ventaja tienen los mocks manuales en rendimiento?

A

No generan sobrecarga pero mayor tiempo de escritura y mantenimiento.

21
Q

¿Cuál es una ventaja de legibilidad de los mocks manuales?

A

Más explícitos pero dependen de la calidad de la implementación.

22
Q

¿Qué pasa con mockito respecto a la legibilidad?

A

Sintaxis expresiva, pero menos intuitiva con características avanzadas.

23
Q

¿Qué riesgo tienen los frameworks respecto al mal uso?

A

Fácil abusar de mocks, creando tests frágiles

24
Q

¿Por qué los mocks manuales son menos propensos al mal uso?

A

Porque requieren diseño cuidadoso

25
¿Qué problemas de compatibilidad pueden tener los frameworks de mocking?
Con entornos como Android o JVMs restringidas
26
¿Qué ventaja tienen los mocks manuales respecto a la compatibilidad?
No presentan problemas, son clases puras