Solo tratando de descubrir qué otros están usando para probar sus procedimientos/consultas de base de datos, etc. ¿Está usando las nuevas extensiones de Visual Studio, código personalizado, etc.? Necesito de algún modo cómo formular algunas pruebas unitarias, pero no estoy muy seguro de cómo voy a construir las pruebas para que podamos probar los procedimientos de regresión fácilmente.¿Qué están usando las personas para probar sus procedimientos almacenados, etc.
Respuesta
Tiene muchas opciones, como ya ha mencionado, pero para las verdaderas pruebas unitarias, siempre debe acercarse lo más posible a la unidad real bajo prueba para evitar que las preocupaciones de integración interactúen con sus pruebas . Para objetos de base de datos, esto significa usar los proyectos de prueba de la unidad de base de datos de Visual Studio y escribir SQL para probar los objetos de la base de datos, o usar algún tipo de marco de prueba basado en SQL de terceros como DBUnit.
En algunos casos es posible que desee utilizar Linq-to-SQL para realizar algunas pruebas de unidad de base de datos de forma más concisa/fácil que en SQL, pero esto debe evitarse a menos que sea absolutamente necesario para pruebas de unidades reales; Linq-to-SQL (y cualquier otro código personalizado) presenta problemas de integración y capas adicionales, por lo que si encuentra un error, primero deberá asegurarse de que realmente sea un error en su base de datos y no en su Linq-to- Conexión de la base de datos SQL, código C# (por ejemplo), etc.
TST the T-SQL Test Tool, funciona bien y es fácil de implementar.
Sí, probé esto y no lo usé - toma demasiado tiempo desarrollar una prueba, no puede probar un procedimiento que devuelve dos conjuntos de resultados, etc. Una vez que se desarrolla la prueba, es muy difícil/lento cambiarlo después de la refactorización. –
Hemos tenido mucho éxito con DbFit
Descubrimos que DbFit era muy frágil: demorar demasiado tiempo para cambiar las pruebas después de la refactorización. –
@AlexKuznetsov: esta no ha sido mi experiencia. Tal vez depende de los tipos de aplicación de base de datos bajo prueba? –
Gracias Ed Lo comprobaré +1 – scarpacci
Esa es una gran pregunta. Desarrollamos nuestra propia biblioteca en 2007, described here. El otoño pasado escribí sobre lessons learned during more than three years of using it.
Gracias Alex por la información +1 – scarpacci
- 1. Patrones para procedimientos almacenados?
- 2. ¿En qué ubicación están almacenados los procedimientos recopilados de Mysql?
- 3. ¿Cómo migrar los procedimientos almacenados para probar db?
- 4. Procedimientos almacenados y pruebas unitarias
- 5. Versiones de procedimientos almacenados
- 6. Procedimientos almacenados - Fin de días
- 7. Funciones vs procedimientos almacenados
- 8. Procedimientos almacenados vs. Vistas
- 9. Mejores lenguajes que SQL para procedimientos almacenados
- 10. Procedimientos almacenados y funciones
- 11. ¿Los procedimientos almacenados bloquean las tablas/filas?
- 12. usando EXPLAIN para llamadas a procedimientos almacenados MYSQL
- 13. OpenGL: ¿por qué se eliminó la matriz de matriz y qué están usando las personas ahora?
- 14. Procedimientos almacenados a archivos .sql
- 15. MySQL: Vistas vs Procedimientos almacenados
- 16. Procedimientos almacenados en Python para PostgreSQL
- 17. procedimientos almacenados con sqlAlchemy
- 18. Procedimientos almacenados Ingeniería inversa
- 19. WebMatrix y procedimientos almacenados
- 20. script tsql para encontrar tablas que no estén siendo utilizadas por procedimientos almacenados, vistas, funciones, etc.
- 21. ¿Cómo encontrar qué procedimientos almacenados usan qué índices?
- 22. MySQL: ¿Cómo puedo probar la arquitectura de mi base de datos (consistencia de clave externa, procedimientos almacenados, etc.)
- 23. cambios de versión para procedimientos almacenados
- 24. Sql Server 2000 - ¿Cómo puedo averiguar qué procedimientos almacenados se están ejecutando actualmente?
- 25. herramienta generador de procedimientos almacenados
- 26. OPCIONES SET .... dónde están almacenados
- 27. ¿Puede tener demasiados procedimientos almacenados?
- 28. Expresiones regulares en procedimientos almacenados
- 29. Tablas temporales en procedimientos almacenados
- 30. consultas parametrizadas SIN procedimientos almacenados?
Gracias Ken por su entrada +1 – scarpacci