He estado buscando en EasyMock y tutoriales/ejemplos sobre su uso para las pruebas de unidades de las clases DAO, para una prueba de "contenedor externo". Sin embargo, creo que la mayoría habla de probar la capa de servicio en su lugar, burlándose de la clase DAO. Estoy un poco confundido, ¿realmente es así como tu Unidad prueba la capa DAO?Pruebas unitarias DAO
Algunos dirían que las pruebas que interactúan con DB & EJB son en realidad pruebas de Integración y no de Unidad, pero ¿cómo saber si su SQL es correcto (suponiendo que no hay ORM) y su DAO inserta/consulta los datos correctos de su base de datos real (leer, la base de datos local que es similar a la de producción)?
He leído que DBUnit es una solución para tal situación. Pero mi pregunta es sobre el uso de un marco como DBUnit "contenedor externo". ¿Qué pasa si el DAO depende de algunos EJB, cómo manejamos las transacciones, qué pasa si hay activadores que actualizan otras tablas en sus insertos?
¿Cuál es la mejor manera de probar solo los DAO con tales dependencias?