Quiero probar la clase con la conexión make db. La clase que quiero probar acepta como param en la clase de constructor Connection
. Quiero pasar el objeto simulado al constructor. ¿Me puede decir un buen marco con ejemplos de cómo burlarse de la conexión db?Java simula la conexión de base de datos
Respuesta
Puede usar MockRunner, que tiene soporte para JDBC. Los marcos de burla generales como Mockito también funcionarán, pero JDBC es un conjunto de interfaces que se devuelven mutuamente, por lo que la burla a mano será difícil. Vea usted mismo: How to stub/mock JDBC ResultSet to work both with Java 5 and 6?
Sin embargo burlando de JDBC es tan frágil y prolijo (no importa qué herramientas que usa) que iba a sugerir ya sea haciendo abstracción de acceso JDBC dentro de alguna capa delgada DAO (ver @duffymo respuesta) o ir en -memoria base de datos como H2.
Consulte también:
http://mockrunner.github.io/dice en el sitio que aloja la versión actualizada pvi :) –
puedes probar easymock. es fácil de usar, creo. puede encontrar un tutorial de referencia. easymock
no me cree una conexión simulada - No prueba nada, en mi opinión.
Puedo ver por qué se burlaría del repositorio/DAO después de haberlo probado completamente con una conexión en vivo. Le daría el repositorio simulado/DAO a un servicio u otro cliente porque ya lo ha probado, no es necesario que pruebe que funciona hasta que realice una prueba de integración.
Si va a reutilizar ese simulacro en muchos casos de prueba, también puede considerar implementar su propia implementación de conexión y reutilizar esa implementación en todas partes.
Usted puede utilizar un marco de burla, tales como los mencionados en la respuesta anterior (Yo personalmente uso EasyMock) O crear su propio objeto de burla:
class FakeConnection extends Connection{
// Overrive all method behavious you want to fake.
}
marco Acólito es útil para tales fines ->https://github.com/cchantep/acolyte.
Con esta lib puede crear una instancia de conexión para la que proporcione el controlador. Implementando controlador, puede 'enviar' consulta o actualizar: produciendo conjuntos de resultados o conteo de actualizaciones (o advertencia).
- 1. Java + Tomcat, ¿conexión de base de datos moribunda?
- 2. Conexión de base de datos heterogénea
- 3. conexión tiene una base de datos remota
- 4. ¿Cómo comprobar la fuga de conexión de la base de datos en la aplicación Java EE?
- 5. La mejor manera de administrar la conexión de base de datos para un servlet de Java
- 6. informes de Crystal - cerrar la conexión de base de datos
- 7. Retraso en la conexión a la base de datos C#
- 8. Conexión agrupación con la base de datos de Access
- 9. Conexión a la base de datos de Python Cerrar
- 10. Cómo obtener la conexión Cadena de una base de datos
- 11. conexión de base de datos compartida frente a conexiones de base de datos privadas
- 12. Conexión de la base de datos del controlador de MongoDB Java con Tomcat
- 13. ¿Cómo obtener la misma conexión de base de datos que JPA usando Java?
- 14. Conexión a la base de datos MySQL en el servidor
- 15. Android - Conexión a la base de datos MySQL
- 16. Conexión JPA con la base de datos H2
- 17. Variable global - conexión a la base de datos?
- 18. ¿Cómo puedo asegurar mi conexión a la base de datos?
- 19. Crear base de datos MySQL desde Java
- 20. conexión de base de datos jndi con jpa y eclipselink
- 21. embarcadero mysql conexión de base de datos agrupación
- 22. conexión de base de datos sqlite/pregunta de bloqueo
- 23. Cadena de conexión de base de datos Información
- 24. cadena de conexión para servidor de base de datos remota
- 25. prioridad de conexión de base de datos PHP/MySQL?
- 26. Java JDBC estado de la conexión
- 27. Clase de conexión de base de datos PHP
- 28. Django error de conexión de base de datos
- 29. pgAdmin - Definiciones de conexión de base de datos compartida
- 30. ¿Dónde almacena su conexión de base de datos?
Puede estar interesado en este recurso: http://programmers.stackexchange.com/questions/118933/what-elements-of-my-junits-should-i-mock –