Esta documentación está archivada y no tiene mantenimiento.

Solución de problemas de pruebas unitarias de base de datos

Actualización: noviembre 2007

Puede configurar una prueba unitaria para que implemente la base de datos y genere datos automáticamente. Si no tiene los permisos necesarios para generar datos para la base de datos de destino, se producirá un error que le indicará que no tiene los permisos necesarios para conectarse a la base de datos.

Aa833238.alert_note(es-es,VS.90).gifNota:

Para solucionar este problema, ejecute manualmente el plan de generación de datos. Si no tiene los permisos necesarios para generar datos, este enfoque le proporcionará un mensaje de error más detallado que le ayudará a solucionar el problema.

Si crea pruebas unitarias de base de datos para una base de datos que contiene procedimientos almacenados numerados (como MyProcedure;2), el cuadro de diálogo Crear pruebas unitarias no muestra la designación numérica. Este comportamiento puede hacer que aparezca varias veces el mismo número de procedimiento si tiene varias versiones numeradas de uno o más procedimientos almacenados.

Además, falta la designación numérica en el script que se genera para probar los procedimientos almacenados. Por ejemplo, si genera una prueba unitaria para un procedimiento denominado MyProcedure;2, el script se parecerá al siguiente:

EXEC @RC = [dbo].[MyProcedure]
Aa833238.alert_note(es-es,VS.90).gifNota:

Para solucionar este problema, modifique el script generado para volver a agregar la designación numérica antes de ejecutar las pruebas unitarias. Si generó pruebas unitarias para varios procedimientos almacenados, tendrá que corregirlas todas.

Si modifica el archivo App.Config en el proyecto de prueba, debe volver a generar el proyecto de prueba para que los cambios surtan efecto. Estos cambios incluyen los realizados en App.Config mediante el cuadro de diálogo Configuración del proyecto. Si no vuelve a generar el proyecto de prueba, los cambios no se aplicarán hasta que ejecute las pruebas unitarias.

Si implementa una base de datos al realizar pruebas unitarias, la base de datos se creará con la información de cadena de conexión especificada en la configuración de las pruebas unitarias. La información de conexión especificada en las propiedades de generación del proyecto de base de datos no se usa para esta tarea, por lo que puede ejecutar pruebas unitarias diferentes en distintas instancias de una misma base de datos.

Se las pruebas unitarias de base de datos no se realizan correctamente al agotarse el tiempo de espera, puede incrementar el tiempo de espera actualizando el archivo app.config en su proyecto de base de datos. El tiempo de espera de la cadena de conexión especifica cuánto tiempo debe esperar la prueba unitaria para conectarse al servidor. El comando time-out especifica el tiempo que debe esperarse cuando la prueba unitaria ejecuta el script de Transact-SQL (T-SQL).

Aa833238.alert_note(es-es,VS.90).gifNota:

Para evitar este problema, especifique un valor mayor para el atributo CommandTimeout en el elemento Context adecuado del archivo app.config de su proyecto de prueba. Por ejemplo, para especificar un comando time-out de 120 segundos para el elemento PrivilegedContext, actualice app.config tal y como se expone a continuación:

<DatabaseUnitTesting>
    <DatabaseDeployment DatabaseProjectFileName="test.dbproj" Configuration="Debug" />
    <DataGeneration DataGenerationFileName="test.dgen" ClearDatabase="true" />
    <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="another connection string" />
    <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="test" CommandTimeout=”120” />
</DatabaseUnitTesting>
Mostrar: