6

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

4

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.

+0

Gracias Ken por su entrada +1 – scarpacci

2

TST the T-SQL Test Tool, funciona bien y es fácil de implementar.

+0

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. –

4

Hemos tenido mucho éxito con DbFit

+0

Descubrimos que DbFit era muy frágil: demorar demasiado tiempo para cambiar las pruebas después de la refactorización. –

+0

@AlexKuznetsov: esta no ha sido mi experiencia. Tal vez depende de los tipos de aplicación de base de datos bajo prueba? –

+0

Gracias Ed Lo comprobaré +1 – scarpacci

Cuestiones relacionadas