Mis clases siguen esta estructura.
- Nivel de servicio (crea y asigna InputDTO a datos de base de datos)
- Nivel DAO (en realidad ejecuta llamadas DB)
Cuando escribo pruebas JUnit de nivel de servicio, se llama al nivel DAO, y esto espera una conexión de base de datos real y obtener datos de la base de datos.
¿Debería burlarme completamente del nivel DAO del nivel de servicio, o debería burlarme de la conexión de la base de datos y los datos recibidos de la base de datos?
En segundo lugar, la aplicación espera ciertos datos de un caché.
Para el tiempo de ejecución de JUnit, no hay caché, entonces, ¿cómo se debe manejar esto? El método de nivel de servicio incluye buscar el caché para obtener los detalles.