Procedimientos: Depuración de objetos de base de datos
Una prueba unitaria de SQL Server consta de lo siguiente:
El código de la prueba unitaria escrito en Visual C# o Visual Basic. Este código, que lo genera el Diseñador de pruebas unitarias de SQL Server, es el responsable de ejecutar el script de Transact-SQL que conforma el cuerpo de la prueba.
Una o varias condiciones de prueba, que se escriben en Visual C# o Visual Basic. Para depurar condiciones de prueba, siga el procedimiento para depurar pruebas unitarias que se describe en Cómo: Depurar mientras se ejecuta una prueba (Visual Studio 2010) o Cómo: Depurar mientras se ejecuta una prueba (Visual Studio 2012).
Uno o más scripts de Transact-SQL que se ejecutan en objetos de la base de datos que se está probando. Estos scripts de Transact-SQL no se pueden depurar.
En los procedimientos de este tema se describe cómo depurar objetos de base de datos específicos, como los procedimientos almacenados, las funciones y los desencadenadores de la base de datos que se está probando. Para depurar un objeto de base de datos, siga estos procedimientos en este orden:
Habilite la depuración de SQL Server en el proyecto de prueba.
Habilite la depuración de la aplicación en la instancia de SQL Server que hospeda la base de datos que se está probando.
Establezca puntos de interrupción en el script de Transact-SQL de los objetos de base de datos que se van a depurar.
Depure la prueba unitaria. En este procedimiento, ejecute la prueba en modo de depuración.
Para habilitar la depuración de SQL en el proyecto de prueba
Abra el Explorador de soluciones.
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto de prueba y haga clic en Propiedades.
Se abrirá una página de propiedades con el mismo nombre que el proyecto de prueba.
En la página de propiedades, haga clic en Depurar.
En Habilitar depuradores, haga clic en Habilitar depuración de SQL Server.
Guarde los cambios.
Para establecer un tiempo de espera del contexto de ejecución mayor para habilitar la depuración del proyecto de prueba
En el menú Archivo, seleccione Abrir y haga clic en Archivo.
Busque la carpeta que contiene el proyecto de prueba y haga doble clic en el archivo app.config.
Se abre el archivo app.config en el editor.
Modifique el nodo ExecutionContext para agregar un tiempo de espera de comando, como en el ejemplo siguiente:
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
Guarde los cambios.
Recompile el proyecto de prueba unitaria.
Importante
Si no recompila el proyecto, los cambios realizados en app.config no se aplicarán al ejecutar las pruebas unitarias y la depuración producirá un error.
Para agregar puntos de interrupción al script de Transact-SQL
En el menú Ver, abra el Explorador de objetos de SQL Server.
Debajo de Conexiones de datos, expanda el nodo de la base de datos que desea probar.
Si aparece una 'x' roja pequeña al lado del icono de la base de datos, la conexión a la base de datos está cerrada. En ese caso, haga clic con el botón derecho en la base de datos y haga clic en Actualizar. Podría tener que proporcionar las credenciales para abrir la conexión a la base de datos.
Expanda el nodo Vistas, Procedimientos almacenados o Funciones para buscar el objeto que desea depurar.
Haga doble clic en el objeto que desee depurar.
Haga clic en la barra lateral deshabilitada para establecer un punto de interrupción.
Para depurar la prueba unitaria de SQL Server
En Visual Studio 2010, abra la ventana Vista de pruebas (Prueba -> Ventanas). En Visual Studio 2012, abra la ventana Explorador de pruebas.
Haga clic con el botón derecho en la prueba cuyo script Transact-SQL ejercite el objeto de base de datos en el que ha establecido puntos de interrupción y seleccione Depurar selección.
La prueba se ejecuta en modo de depuración hasta que se encuentra un punto de interrupción en el objeto de base de datos.
(Opcional) Para abrir otra ventana de depuración, abra el menú Depuración, seleccione Ventanas y haga clic en Puntos de interrupción, Resultado o Inmediato.
Consulte también
Ejecutar pruebas unitarias de SQL Server
Depuración de Transact-SQL (Visual Studio 2010)