Share via


Tutorial: Establecer una línea base para el entorno de desarrollo aislado

En este tutorial, se ha creado un proyecto de base de datos y se ha sometido a control de versiones. El proyecto de base de datos contiene una definición de esquema que coincide con la de un servidor de producción. Antes de empezar el trabajo de desarrollo en ese proyecto de base de datos, desea establecer una línea base de calidad, para lo cual preparará pruebas unitarias de base de datos, definirá un plan de generación de datos, generará datos de prueba y ejecutará las pruebas. Mediante una ejecución de prueba, generará e implementará la base de datos en su entorno de desarrollo aislado, llenará la base de datos con datos generados y ejecutará pruebas unitarias para obtener un informe de los resultados.

Las tareas que se ilustran en este tutorial son las siguientes:

  1. Cómo personalizar la configuración de implementación para el entorno de desarrollo aislado.

  2. Cómo generar e implementar la base de datos en el entorno de desarrollo aislado.

  3. Cómo crear un plan de generación de datos y personalizarlo para generar datos de prueba más realistas.

  4. Cómo definir una prueba unitaria para un procedimiento almacenado que contiene el proyecto de base de datos.

  5. Cómo generar datos de prueba, y cómo generar y ejecutar las pruebas unitarias.

  6. Cómo compartir las pruebas unitarias con el equipo de desarrollo colocándolas en el sistema de control de versiones como parte de la solución.

Requisitos previos

Para definir pruebas unitarias de base de datos, y para crear, modificar y ejecutar un plan de generación de datos, debe tener instalado Visual Studio Premium o Visual Studio Ultimate y tener acceso a la base de datos de ejemplo AdventureWorks2008 para SQL Server 2008 (o la base de datos de emergencia AdventureWorks2008R2 SQL Server 2008 R2). Además, debe de haber completado los pasos descritos en Tutorial: Crear un entorno de desarrollo de bases de datos aislado.

Para personalizar la configuración de generación para el entorno de desarrollo aislado

  1. Si la solución AdvWorksSandbox está abierta en el Explorador de soluciones, vaya al paso 4.

  2. En el menú Archivo, elija Abrir y, a continuación, haga clic en Proyecto o solución.

    Aparecerá el cuadro de diálogo Abrir proyecto.

  3. Haga clic en la solución AdvWorksSandbox y, después, en Abrir. (La ubicación predeterminada de solución es Mis Documentos\Visual Studio 2010\Projects\AdvWorksSandbox).

    La solución AdvWorksSandbox se abre en el Explorador de soluciones.

  4. En el Explorador de soluciones, haga clic en el nodo AdvWorksSandbox.

  5. En el menú Proyecto, haga clic en Propiedades de AdvWorksSandbox.

  6. Haga clic en la pestaña Implementar.

  7. En la lista desplegable Configurar valores de implementación para, seleccione Mi entorno de desarrollo aislado.

    Nota

    Los valores de implementación que configura para el entorno de desarrollo aislado se almacenan en el archivo .user en la carpeta que contiene el proyecto de base de datos. El archivo .user no se protege en el sistema de control de versiones. Este diseño permite a cada desarrollador configurar los valores para su entorno de desarrollo aislado.

  8. Haga clic en Editar, junto a Conexión de destino.

    Aparece el cuadro de diálogo Propiedades de la conexión.

    Aquí puede personalizar la cadena de conexión para el entorno de desarrollo aislado local. El proceso recomendado es que cada desarrollador de software de la base de datos actualice una copia privada de la base de datos para que los cambios no puedan afectar adversamente al resto del equipo. Cuando el desarrollador ha probado los cambios y esté preparado para compartirlos con el equipo, los compartirá a través del sistema del control de versiones central. En Tutorial: Crear un entorno de desarrollo de bases de datos aislado se estableció el nombre de la base de datos de destino, pero no la conexión.

  9. Escriba o haga clic en el nombre del servidor que desea utilizar para el entorno de desarrollo aislado. Por ejemplo, para usar la instancia local escriba (local).

    Nota importanteImportante

    Se produce un error si implementa la base de datos de desarrollo aislada en el mismo servidor donde implementó en el tutorial previo (). El error se produce porque ya creó el archivo. Puede corregir esto cambiando el parámetro FILENAME en el archivo FileStreamDocuments.sqlfile.sql (o para SQL Server 2008 R2, FileStreamDocuments2008R2.sqlfile.sql). Cambie el parámetro para que coincida con el siguiente código: FILENAME = '$(DefaultDataPath)SandboxDocuments-IDE')

  10. Haga clic en el tipo de autenticación que desea utilizar para la conexión con el servidor de bases de datos.

    De forma predeterminada, se especifica Autenticación de Windows.

  11. Haga clic en Aceptar.

    En Conexión de destino se muestra la información de conexión.

  12. En el menú Archivo, haga clic en Guardar los elementos seleccionados para guardar los cambios en las propiedades del proyecto de base de datos.

Para generar e implementar la base de datos en el entorno de desarrollo aislado

  1. En el menú Compilar, haga clic en Compilar solución.

    Se compilará el proyecto de base de datos y los resultados aparecerán en la Ventana de salida.

  2. En el Explorador de soluciones, haga clic en el nodo AdvWorksSandbox.

  3. En el menú Generar, haga clic en Implementar ProjectName. También puede hacer clic con el botón secundario en el nodo AdvWorksSandbox y hacer clic en Implementar.

    Se generará el proyecto de base de datos, se creará un script de implementación y, a continuación, ese script se implementará en el servidor de desarrollo de base de datos aislado que especificó en las propiedades del proyecto de base de datos.

    A continuación, generará datos de prueba para el entorno de desarrollo aislado.

Generar datos de prueba

Ahora que ya tiene una base de datos aislada en la que realizar su trabajo de desarrollo, necesita datos de prueba para las pruebas unitarias. Primeramente creará un plan de generación de datos predeterminado y, a continuación, personalizará ese plan para generar datos más realistas. En este ejemplo, configurará la generación de datos solo para un subconjunto de las tablas y columnas de la base de datos. Configurará la generación de datos para la tabla Employee y la tabla StateProvince.

Los datos originales de la tabla StateProvince no son confidenciales. Por tanto, puede emplear los datos originales para rellenar la base de datos de desarrollo aislado.

Sin embargo, debería realizar los cambios siguientes en el plan de generación predeterminado para la tabla Employee:

  • El título debería ser uno del siguiente: Developer, Sr. Developer, Tester, Sr. Tester, Project Manager, Sales Associate o Sr. Sales Associate.

  • BirthDate debe ser por lo menos hace 18 años y no anterior al 1 de enero de 1930. Esta especificación coincide con la restricción de la columna de la base de datos.

  • Marital Status debe ser "M" o "S".

  • Gender debe ser "M" o "F".

  • HireDate debe ser la fecha actual o una fecha anterior a partir del 1 de enero de 2000.

  • VacationHours debe tener una distribución típica en el intervalo de -10 a 160.

  • ModifiedDate debe ser la fecha actual o una fecha anterior a partir del 1 de enero de 2000. La mayoría de los registros se habrán actualizado recientemente.

  • AdditionalContactInfo y Demografics, de la tabla Person, deben proceder de la base de datos de origen AdventureWorks.

Para crear un plan de generación de datos

  1. En el Explorador de soluciones, expanda el nodo AdvWorksSandbox y haga clic en la carpeta Planes de generación de datos.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

  3. En la lista Categorías, haga clic en Plan de generación de datos.

  4. En la lista Plantillas, haga clic en Plan de generación de datos.

  5. En Nombre, escriba AWGenPlan.dgen y, a continuación, haga clic en Agregar.

    El plan de generación de datos denominado AWGenPlan se agregará al proyecto de base de datos y se abrirá en el editor. El esquema de base de datos se importa al plan de generación de datos.

    Después, modificará AWGenPlan para generar datos de prueba más realistas.

Para restringir la generación de datos a las tablas de interés

  1. Haga clic con el botón secundario en el plan de generación de datos y haga clic en Excluir todas las tablas de la generación de datos.

  2. En el plan de generación de datos, active las casillas de las tablas siguientes: HumanResources.Employee, Person.Person, Person.CountryRegion y Person.StateProvince.

    El paso siguiente será definir el plan de generación de datos para la tabla StateProvince.

Para definir el plan de generación de datos para la tabla StateProvince

  1. Haga clic en [Person].[StateProvince] en el plan de generación de datos.

  2. En el recuadro Detalles de columna, haga clic en StateProvinceCode y establezca el campo Generador en Generador enlazado a datos secuenciales.

    Este paso indica que desea rellenar esta columna con los resultados de una consulta.

  3. En el menú Ver, haga clic en Ventana Propiedades.

  4. En la ventana Propiedades, en la sección Generador, en la propiedad Connection Information, haga clic en la conexión que corresponde a la base de datos desde la que importó el esquema de base de datos en un procedimiento anterior.

    Este paso especifica la conexión a bases de datos que desea utilizar para ejecutar la consulta que generará los datos para esta columna.

  5. En la ventana Propiedades, en la sección Generador, en la propiedad Select Query, establezca la cadena de consulta en SELECT [StateProvinceCode] FROM [Person].[StateProvince].

  6. En el panel Detalles de columna, haga clic en Fecha de modificación.

  7. En la ventana Propiedades, en la sección Generador, establezca la propiedad Max en la fecha de hoy, porque los registros no se han podido modificar en el futuro.

  8. En la ventana Propiedades, en la sección Generador, establezca la propiedad Min en 1/1/2000 12:00:00 AM. En este ejemplo, vamos a suponer que la compañía empezó a recopilar datos a principios del año 2000.

    El paso siguiente será especificar el plan de generación de datos para la tabla Person.

Para definir el plan de generación de datos para la tabla Person

  1. Haga clic en [Person].[Person] en el plan de generación de datos.

  2. En el recuadro Detalles de columna, haga clic en PersonType y establezca el campo Generador en Expresión regular.

  3. En la ventana Propiedades, en la sección Generador, establezca la propiedad Expression en (GC|SP|EM|IN|VC|SC).

  4. En el recuadro Detalles de columna, haga clic en AdditionalContactInfo y establezca el campo Generador en Generador enlazado a datos secuenciales.

    Este paso indica que desea llenar esta columna con los resultados de una consulta.

  5. En el menú Ver, haga clic en Ventana Propiedades.

  6. En la ventana Propiedades, en la sección Generador, en la propiedad Connection Information, haga clic en la conexión que corresponde a la base de datos desde la que importó el esquema de base de datos en un procedimiento anterior.

    Este paso especifica la conexión a bases de datos que desea utilizar para ejecutar la consulta que generará los datos para esta columna.

  7. En la sección Generador de la ventana Propiedades, en la propiedad Query Select Query, establezca la cadena de consulta en SELECT * FROM [Person].[Person].

  8. En el recuadro Detalles de columna, en el campo Salida del generador de AdditionalContactInfo, haga clic en [AdditionalContactInfo].

    Este paso selecciona la columna en el conjunto de resultados que desea asociar a esta columna.

  9. En el recuadro Detalles de columna, haga clic en Demographics y establezca el campo Generador en Generador enlazado a datos secuenciales.

    Este paso indica que desea llenar esta columna con los resultados de una consulta.

  10. En el menú Ver, haga clic en Ventana Propiedades.

  11. En la ventana Propiedades, en la sección Generador, en la propiedad Connection Information, haga clic en la conexión que corresponde a la base de datos desde la que importó el esquema de base de datos en un procedimiento anterior.

    Este paso especifica la conexión a bases de datos que desea utilizar para ejecutar la consulta que generará los datos para esta columna.

  12. En la sección Generador de la ventana Propiedades, en la propiedad Query Select Query, establezca la cadena de consulta en SELECT * FROM [Person].[Person].

  13. En el recuadro Detalles de columna, en el campo Salida del generador de Demographics, haga clic en [Demographics].

    Este paso selecciona la columna en el conjunto de resultados que desea asociar a esta columna.

  14. En el panel Detalles de columna, haga clic en Fecha de modificación.

  15. En la ventana Propiedades, en la sección Generador, establezca la propiedad Max en la fecha de hoy, porque los registros no se han podido modificar en el futuro.

  16. En la ventana Propiedades, en la sección Generador, establezca la propiedad Min en 1/1/2000 12:00:00 AM. En este ejemplo, vamos a suponer que la compañía empezó a recopilar datos a principios del año 2000.

    El paso siguiente será especificar el plan de generación de datos para la tabla Employee.

Para definir el plan de generación de datos para la tabla Employee

  1. Haga clic en [HumanResources].[Employee] en el plan de generación de datos.

  2. En el recuadro Detalles de columna, haga clic en JobTitle y establezca el campo Generador en Expresión regular.

  3. En la ventana Propiedades, en la sección Generador, establezca la propiedad Expression en (Developer|Sr\. Developer|Tester|Sr\. Tester|Project Manager|Sales Associate|Sr\. Sales Associate).

  4. En el panel Detalles de columna, haga clic en BirthDate.

    De forma predeterminada, el campo Generador se encuentra establecido en DateTime2.

  5. En la ventana Propiedades, en la sección Generador, establezca la propiedad Max en 18 años antes de la fecha de hoy (por ejemplo, 10/30/1987 11:59:59 p. m.). Asimismo, establezca la propiedad Min en 1/1/1930 12:00:00 a. m.

  6. En el panel Detalles de columna, haga clic en MaritalStatus y establezca el campo Generador en Expresión regular.

  7. En la ventana Propiedades, en la sección Generador, establezca la propiedad Expression en (M|S).

  8. En el panel Detalles de columna, haga clic en Gender y establezca el campo Generador en Expresión regular.

  9. En la ventana Propiedades, en la sección Generador, establezca la propiedad Expression en (M|F).

  10. En el panel Detalles de columna, haga clic en HireDate.

    De forma predeterminada, el campo Generador se encuentra establecido en DateTime2.

  11. En la ventana Propiedades, en la sección Generador, establezca la propiedad Max en la fecha de hoy (por ejemplo, 10/30/2006 11:59:59 p. m.). Asimismo, establezca la propiedad Min en 1/1/2000 12:00:00 a. m.

  12. En el panel Detalles de columna, haga clic en VacationHours.

    De forma predeterminada, el campo Generador se encuentra establecido en SmallInt.

  13. En la ventana Propiedades, en la sección Generador, establezca la propiedad Distribution en Normal.

  14. En la ventana Propiedades, en la sección Generador, establezca la propiedad Max en 160 y la propiedad Min en -10.

  15. En el panel Detalles de columna, haga clic en ModifiedDate.

    De forma predeterminada, el campo Generador se encuentra establecido en DateTime2.

  16. En la ventana Propiedades, en la sección Generador, establezca la propiedad Distribution en ExponentialInverse. Asimismo, establezca la propiedad Max en la fecha de hoy (por ejemplo, 10/30/2006 11:59:59 p. m.) y la propiedad Min en 1/1/2000 12:00:00 a. m.

Para ajustar el número de filas que se va a generar

  1. Haga clic en [Person].[CountryRegion] en el plan de generación de datos.

  2. En el campo Filas para insertar, escriba 10.

  3. Haga clic en [HumanResources].[Employee] en el plan de generación de datos.

  4. En el campo Filas para insertar, escriba 25.

  5. Haga clic en [Person].[StateProvince] en el plan de generación de datos.

  6. En el campo Tabla relacionada, haga clic en [Person].[CountryRegion].

  7. En el campo Relación con tabla relacionada, escriba 2:1.

    Este paso especifica que se desea generar el doble de filas para la tabla [Person].[StateProvince] que para la tabla [Person].[CountryRegion].

  8. En el menú Archivo, haga clic en Guardar AWGenPlan.dgen para guardar los cambios realizados en el plan de generación de datos.

Para obtener una vista previa de la generación de datos y generar datos de prueba

La tabla HumanResources.Employee contiene desencadenadores que pueden interferir con la generación de datos si ejecuta varias veces la generación de datos. Para realizar la generación de datos durante una ejecución de prueba automatizada, debe deshabilitar (y después habilitar) esos desencadenadores durante las pruebas unitarias.

Para ejecutar varias veces la generación de datos en este procedimiento, debe realizar el procedimiento Para deshabilitar y habilitar desencadenadores en la tabla Employee para la generación de datos. Para ejecutar solo una vez la generación de datos, siga el procedimiento Para comprobar los resultados del plan de generación de datos.

Para obtener una vista previa de la generación de datos y generar datos de prueba

  1. En el menú Datos, elija Generador de Datos y haga clic en Vista previa de generación de datos.

    Aparece la ventana Vista previa de generación de datos y se muestra un ejemplo de los datos que se van a generar. Si los datos cumplen los criterios que ha especificado, continúe con el paso siguiente. Si tiene que ajustar el plan de generación de datos, realice los cambios pertinentes y, a continuación, repita este paso.

  2. En el menú Datos, elija Generador de Datos y haga clic en Generar datos.

    Aparece el cuadro de diálogo Generar datos para base de datos de destino.

  3. En Base de datos de destino, cree una conexión a la base de datos AdvWorksSandbox y haga clic en Aceptar.

  4. Cuando se le pregunte "¿Desea eliminar datos existentes de las tablas antes de generar nuevos datos?" haga clic en .

    Los datos se generan según sus especificaciones. Una vez terminada la generación, aparecerá una marca de verificación verde en cada fila, que indica que todos los datos se generaron correctamente. Si no se han generado datos, aparecerán errores en la ventana Lista de errores.

  5. Vaya al procedimiento "Para comprobar los resultados del plan de generación de datos".

Para deshabilitar y habilitar desencadenadores en la tabla Employee para la generación de datos

  1. Antes de generar los datos, abra el menú Datos, elija Editor de Transact-SQL y haga clic en Nueva conexión de consulta.

  2. Si existe una conexión para la base de datos en el entorno de desarrollo aislado, vaya al paso 7.

  3. Haga clic en Nueva conexión.

    Aparece el cuadro de diálogo Propiedades de la conexión.

  4. En Nombre del servidor, escriba o haga clic en el nombre del servidor de bases de datos en el que implementó la base de datos, como (local)\SQLExpress.

  5. En Conexión con el servidor, haga clic en Utilizar autenticación de Windows.

  6. En Establecer conexión con una base de datos, haga clic en Seleccionar o escribir nombre de base de datos, escriba AdvWorksSandbox y haga clic en Aceptar.

    Se crea la conexión y se agrega a la lista del cuadro de diálogo Establecer conexión con una base de datos.

  7. En el cuadro de diálogo Establecer conexión con una base de datos, haga clic en la cadena de conexión correspondiente a la base de datos de su entorno de desarrollo aislado y haga clic en Aceptar.

    El editor de Transact-SQL aparece con una conexión activa a la base de datos AdvWorksSandbox.

  8. Haga clic en Aceptar.

    Aparece el editor de Transact-SQL.

  9. En el editor de Transact-SQL, escriba el siguiente Transact-SQL:

    DISABLE TRIGGER [HumanResources].[dEmployee] ON [HumanResources].[Employee]
    GO
    
  10. En la barra de herramientas del editor de Transact-SQL, haga clic en Ejecutar SQL.

    En la ficha Mensajes, aparece lo siguiente:

    Los comandos se completaron correctamente.

  11. Haga clic en la ventana que contiene el plan de generación de datos.

  12. En el menú Datos, elija Generador de Datos y haga clic en Vista previa de generación de datos.

    Aparece la ventana Vista previa de generación de datos y se muestra un ejemplo de los datos que se van a generar. Si los datos cumplen los criterios que ha especificado, continúe con el paso siguiente. Si tiene que ajustar el plan de generación de datos, realice los cambios pertinentes y, a continuación, repita este paso.

  13. En el menú Datos, elija Generador de Datos y haga clic en Generar datos.

    Aparece el cuadro de diálogo Generar datos para base de datos de destino.

  14. En Base de datos de destino, haga clic en la conexión a la base de datos AdvWorksSandbox y luego en Aceptar.

  15. Cuando se le pregunte "¿Desea borrar el contenido de las tablas seleccionadas antes de insertar filas nuevas?", haga clic en .

    Los datos se generan según sus especificaciones. Una vez terminada la generación, aparecerá una marca de verificación verde en cada fila, que indica que todos los datos se generaron correctamente. Si no se han generado datos, aparecerán errores en la ventana Lista de errores.

  16. Haga clic dentro de la ventana del editor de Transact-SQL.

  17. Normalmente, volverá a habilitar los desencadenadores aquí. Sin embargo, para simplificar las pruebas unitarias de base de datos de modo que no tenga que deshabilitar y volver a habilitar los desencadenadores como parte de la prueba unitaria, deje el desencadenador deshabilitado.

Para comprobar los resultados del plan de generación de datos

  1. En el menú Datos, apunte a Editor de Transact-SQL y haga clic en Nueva consulta.

    Aparece el cuadro de diálogo Conectar con base de datos.

  2. Si existe una conexión para la base de datos en el entorno de desarrollo aislado, vaya al paso 8.

  3. Haga clic en Nueva conexión.

    Aparece el cuadro de diálogo Propiedades de la conexión.

  4. En Nombre del servidor, escriba o haga clic en el nombre del servidor de bases de datos en el que implementó la base de datos, como (local)\SQLExpress.

  5. En Conexión con el servidor, haga clic en Utilizar autenticación de Windows.

  6. En Establecer conexión con una base de datos, haga clic en Seleccionar o escribir nombre de base de datos, escriba AdvWorksSandbox y haga clic en Aceptar.

    Se crea la conexión y se agrega a la lista del cuadro de diálogo Establecer conexión con una base de datos.

  7. En el cuadro de diálogo Establecer conexión con una base de datos, haga clic en la cadena de conexión correspondiente a la base de datos de su entorno de desarrollo aislado y haga clic en Aceptar.

    El editor de Transact-SQL aparece con una conexión activa a la base de datos AdvWorksSandbox.

  8. En el editor de Transact-SQL, escriba lo siguiente:

    SELECT * from HumanResources.Employee;
    
  9. Presione F5 para ejecutar la consulta.

    Aparecerá el panel de resultados con los resultados de la generación de datos.

  10. En el menú Archivo, haga clic en Cerrar para cerrar el editor de Transact-SQL.

    Después, defina pruebas unitarias de base de datos que comprueben el código de base de datos existente.

Definir las pruebas unitarias

Normalmente, se definen pruebas unitarias para todos los procedimientos almacenados, funciones y desencadenadores. Sin embargo, en este tutorial, definirá solamente una prueba unitaria, a modo de ejemplo. Definirá una prueba para la función ufnLeadingZeros y el procedimiento almacenado dbo.uspGetManagerEmployees.

La función ufnLeadingZeros toma un entero y devuelve una representación de cadena VARCHAR (8) de ese entero rellenada con ceros iniciales. Para probar esta función, puede pasar un valor y comprobar que obtiene el resultado que espera.

Al procedimiento almacenado uspGetManagerEmployees se le pasa un identificador de empleado, y devuelve todos los empleados que rinden cuentas al administrador cuyo identificador ha especificado (la jerarquía completa). Dado que el generador de datos producirá los mismos datos de prueba si se le proporciona el mismo valor de inicialización, puede saber cuántas filas deberían devolverse. Esta prueba es muy sencilla. En un proyecto real, desearía crear pruebas más detalladas para comprobar si se han devuelto los empleados correctos.

Para crear pruebas unitarias

  1. En el menú Ver, haga clic en Vista de esquema.

    Si no estaba visible, aparecerá la Vista de esquema.

  2. En Vista de esquema, abra la carpeta Esquemas, abra la carpeta dbo y, a continuación, abra la carpeta Programación.

  3. Haga clic con el botón secundario del mouse en la carpeta Functions y haga clic en Crear pruebas unitarias.

    Aparecerá el cuadro de diálogo Crear pruebas unitarias.

  4. Expanda el árbol de selección actual y active la casilla de la función dbo.ufnLeadingZerosde función. Desactive las casillas para los demás procedimientos almacenados o funciones que están seleccionados.

    Nota

    Para establecer una línea base real para el proyecto, crearía pruebas unitarias para todas las funciones, procedimientos almacenados y desencadenadores de la base de datos. Este tutorial se centra en una función para mostrar el proceso.

  5. En Proyecto, haga clic en Crear un nuevo proyecto de prueba de Visual C#....

  6. En Nombre del nuevo proyecto, escriba AWSandboxTestProjecty haga clic en Aceptar.

    Se creará el proyecto de prueba unitaria y aparecerá el cuadro de diálogo Configuración del proyecto para las pruebas unitarias.

  7. En Conexiones de base de datos, haga clic en la conexión correspondiente a AdvWorksSandbox.

  8. En Implementación, desactive la casilla Implementar automáticamente el proyecto de base de datos antes de ejecutar pruebas.

  9. En Estado de base de datos, active la casilla Generar datos de prueba antes de ejecutar pruebas unitarias.

  10. En la lista Estado de base de datos, haga clic en AWGenPlan.dgen.

  11. Active la casilla Borrar la base de datos antes de generar los datos de prueba si aún no está activada y haga clic en Aceptar.

    El proyecto de prueba unitaria de base de datos se crea y se agrega a la solución. El Diseñador de pruebas unitarias de base de datos se abre para que pueda modificar las condiciones de prueba y crear sus pruebas.

    Nota

    Si es necesario modificar la configuración de la prueba, abra el menú Prueba y haga clic en Configuración de prueba de base de datos. Aparecerá el cuadro de diálogo Configuración del proyecto, donde podrá cambiar la configuración.

    A continuación, especificará las condiciones de prueba y escribirá la prueba.

Para definir una prueba unitaria para la función ufnLeadingZeros

  1. En el Diseñador de pruebas unitarias de base de datos, en la lista de pruebas, haga clic en dbo.ufnLeadingZeros.

  2. Compruebe que la segunda lista incluya "Prueba".

  3. Reemplace las instrucciones Transact-SQL del recuadro superior del diseñador con lo siguiente:

    -- db unit test for dbo.ufnLeadingZeros
    DECLARE @RC VARCHAR (8),
    @Value INT
    
    SELECT @RC = NULL,
    @Value = 27
    
    SELECT @RC = [dbo].[ufnLeadingZeros]( @Value)
    
    IF @RC <> '00000027' 
    RAISERROR(N'ufnLeadingZero: expected "00000027" but got %s.', 16, 1, @RC)
    
    SELECT RC=@RC
    
  4. En el panel Condiciones de prueba, haga clic en la condición de prueba cuyo tipo es No concluyente y elimínela haciendo clic en Eliminar condición de prueba (x).

  5. Agregue una condición de prueba de recuento de filas; para ello, haga clic en Recuento de filas en la lista del recuadro Condiciones de prueba y, después, haga clic en Agregar condición de prueba (+).

  6. En la ventana Propiedades, establezca la propiedad Recuento de filas en 1.

    Si desea forzar el error de la prueba, cambie @Value de 27 a otro valor.

    Ahora ya está listo para ejecutar las pruebas unitarias.

Generar y ejecutar las pruebas unitarias

Ahora que ha definido las pruebas unitarias, puede generarlas y ejecutarlas.

Para generar y ejecutar las pruebas unitarias

  1. En el Explorador de soluciones, haga clic con el botón secundario en el nodo de la solución y haga clic en Volver a generar solución.

    Este paso hace que se vuelvan a generar el proyecto de base de datos y el proyecto de prueba unitaria para garantizar que todo está actualizado.

  2. En el menú Prueba, apunte a Windows y, a continuación, haga clic en Editor de lista de pruebas.

    La ventana Vista de pruebas muestra varias pruebas. De forma predeterminada, se crean las pruebas denominadas ManualTest1 y TestMethod1. La prueba llamada dbo_ufpLeadingZeroTest es la que creó en este tutorial.

  3. Active la casilla de dbo_ufpLeadingZeroTest, haga clic con el botón secundario en ella y haga clic en Ejecutar pruebas seleccionadas.

  4. Vea los resultados en la ventana Resultados de pruebas.

    El proyecto de base de datos se implementa en el entorno de desarrollo aislado, se generan los datos de prueba y las pruebas se ejecutarán correctamente.

Proteger los cambios pendientes

Ahora que ha definido pruebas unitarias para detectar si los cambios perjudican a la base de datos, puede proteger las pruebas y compartir la solución con el equipo.

Para compartir la solución con el equipo

  1. En el menú Ver, elija Otras ventanas y, a continuación, haga clic en Cambios pendientes.

    Aparecerá la ventana Cambios pendientes.

  2. En Comentario, escriba Plan de generación de datos definido y pruebas unitarias de línea base.

  3. En la ventana Cambios pendientes, haga clic en Proteger en la barra de herramientas.

    Aparecerá el cuadro de diálogo Comprobación en curso cuando el proyecto de base de datos y los archivos que contiene se incluyan en el sistema de control de versiones. Los iconos del Explorador de soluciones se actualizarán para mostrar que los archivos se encuentran protegidos en el sistema de control de versiones.

Pasos siguientes

Ahora que la solución está protegida en el sistema de control de versiones, cada integrante del equipo puede trabajar en las tareas que tenga asignadas. Cada persona puede trabajar en un entorno de desarrollo aislado hasta que los cambios estén listos para ser compartidos.

En Tutorial: Desarrollo iterativo de bases de datos en un entorno de desarrollo aislado, utilizará la refactorización para cambiar el nombre de los objetos de base de datos en el entorno de desarrollo aislado. Compile, implemente y pruebe los cambios antes de protegerlos y, a continuación, otros miembros del equipo podrán sincronizar los cambios con sus propios entornos de desarrollo aislado.

Vea también

Tareas

Tutorial: Desarrollo iterativo de bases de datos en un entorno de desarrollo aislado

Conceptos

Generar datos de prueba para bases de datos mediante generadores de datos

Comprobar código de base de datos mediante pruebas unitarias

Compilar e implementar bases de datos en un entorno de desarrollo aislado

Información general acerca de la configuración del proyecto de base de datos

Historial de cambios

Fecha

Historial

Motivo

Compatibilidad agregada para SQL Server 2008 R2 y AdventureWorks2008R2. También corregidos algunos problemas de generación de datos y pruebas unitarias señalados en los comentarios de los clientes.

Cambio de características de SP1.