Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Team Foundation Build permite ejecutar las pruebas unitarias de base de datos como parte de una prueba de comprobación de la generación. Puede configurar las pruebas unitarias de base de datos para implementar la base de datos, generar datos de prueba y ejecutar a continuación pruebas seleccionadas. Si no está familiarizado con Team Foundation Build, debe revisar la siguiente información antes de realizar los procedimientos de este tema:
Para poder realizar estos procedimientos, antes debe realizar las siguientes tareas para configurar el entorno de trabajo:
Instale Team Foundation Build y control de versiones de Team Foundation. Es probable que tenga que instalar Team Foundation Build y control de versiones de Team Foundation en equipos diferentes.
Conéctese a una instancia de Visual Studio Team Foundation Server. Para obtener información sobre cómo conectar con Team Foundation Server, vea How to: Connect to a Team Project in Team Foundation Server.
Después de configurar el entorno de trabajo, deberá seguir estos pasos en Visual Studio Premium o Visual Studio Ultimate:
Crear un proyecto de base de datos.
Importar o crear el esquema y los objetos del proyecto de base de datos.
Configurar las propiedades del proyecto de base de datos para la generación e implementación.
Crear una o más pruebas unitarias de base de datos.
Agregar la solución que contiene el proyecto de base de datos y el proyecto de prueba unitaria de base de datos al sistema de control de versiones y proteger todos los archivos.
Los procedimientos de este tema describen la manera de crear una definición de compilación para ejecutar las pruebas unitarias de base de datos como parte de una ejecución de prueba automatizada:
Realizar la configuración de pruebas para ejecutar pruebas unitarias de base de datos en un agente de compilación x64
Asignación de pruebas a una categoría de pruebas (opcional)
Modificar el proyecto de prueba
Proteger la solución
Crear una definición de compilación
Ejecutar la nueva definición de compilación
Ejecutar las pruebas unitarias de base de datos en un equipo de compilación
Al ejecutar pruebas unitarias de base de datos en un equipo de compilación, es posible que las pruebas unitarias no puedan localizar los archivos de proyecto de base de datos (.dbproj) o los planes de generación de datos (.dgen). Este problema se produce porque el archivo app.config hace referencia a esos archivos utilizando rutas de acceso relativas. Además, podrían producirse errores en las pruebas unitarias de base de datos si no se encuentra la instancia de SQL Server que desea utilizar para ejecutar las pruebas unitarias de base de datos. Este problema puede producirse si las cadenas de conexión que están almacenadas en el archivo app.config no son válidas en el equipo de compilación.
Para resolver estos problemas, debe especificar una sección en app.config que invalide app.config con un archivo de configuración específico de su entorno de Team Foundation Build. Para obtener más información, vea Modificar el proyecto de prueba más adelante en este tema.
Realizar la configuración de pruebas para ejecutar pruebas unitarias de base de datos en un agente de compilación x64
Antes de poder ejecutar pruebas unitarias de base de datos en un agente de compilación x64, debe realizar la configuración de pruebas para cambiar la Plataforma de proceso host.
Para especificar la Plataforma de proceso host
Abra la solución que contiene el proyecto de prueba para el que desea realizar la configuración.
En el Explorador de soluciones, en la carpeta Elementos de la solución, haga doble clic en el archivo Local.testsettings.
Se muestra el cuadro de diálogo Configuración de pruebas.
En la lista, haga clic en Hosts.
En el recuadro de detalles, en Plataforma de proceso host, haga clic en MSIL para configurar las pruebas de forma que se ejecuten en un agente de compilación x64.
Haga clic en Aplicar.
Asignación de pruebas a una categoría de pruebas (opcional)
Normalmente, al crear una definición de compilación para ejecutar las pruebas unitarias, se especifica una o más categorías de pruebas. Se hacen todas las pruebas en las categorías especificadas cuando se ejecuta la compilación.
Para asignar pruebas a una categoría de pruebas
Abra la ventana Vista de pruebas.
Seleccione una prueba.
En el recuadro de propiedades, haga clic en Categorías de prueba y, a continuación, haga clic en los puntos suspensivos (…) de la columna situada más a la derecha.
En la ventana Categoría de prueba, en el cuadro Agregar nueva categoría, escriba un nombre de la nueva categoría de pruebas.
Haga clic en Agregar y, a continuación, haga clic en Aceptar.
La nueva categoría de pruebas se asignará a la prueba y estará disponible para las otras pruebas a través de sus propiedades.
Modificar el proyecto de prueba
De forma predeterminada, Team Foundation Build crea un archivo de configuración a partir del archivo app.config del proyecto cuando compila el proyecto de pruebas unitarias. Las rutas de acceso al plan de generación de datos y al proyecto de base de datos se almacenan como rutas relativas en el archivo app.config. Las rutas de acceso relativas que funcionan en Visual Studio no funcionarán porque Team Foundation Build sitúa los archivos compilados en ubicaciones diferentes que dependen del lugar en el que se ejecutan las pruebas unitarias. Además, el archivo app.config contiene las cadenas de conexión que especifican la base de datos que se va a probar. También necesitará un archivo app.config distinto para Team Foundation Build si las pruebas unitarias deben establecer conexión con una base de datos diferente de la que se utilizó cuando se creó el proyecto de prueba. Cuando realice las modificaciones especificadas en el siguiente procedimiento, podrá configurar el proyecto de prueba y el servidor de compilación para que Team Foundation Build utilice una configuración diferente.
Importante |
|---|
Debe realizar este procedimiento en cada proyecto de prueba (.vbproj o .vsproj). |
Para especificar un archivo app.config para Team Foundation Build
En el Explorador de soluciones, haga clic con el botón secundario en el archivo app.config y, a continuación, haga clic en Copiar.
Haga clic con el botón secundario en el proyecto de prueba y haga clic en Pegar.
Haga clic con el botón secundario en el archivo denominado Copia de app.config y haga clic en Cambiar nombre.
Escriba BuildComputer.dbunitttest .config y presione ENTRAR, donde BuildComputer es el nombre del equipo en el que su agente de compilación se ejecuta.
Haga doble clic en BuildComputer.dbunitttesting.config.
El archivo de configuración se abre en el editor.
Cambie la ruta de acceso relativa a los archivos .dbproj y .dgen agregando un nivel de la carpeta para la carpeta Sources y una subcarpeta con el mismo nombre que la solución. Por ejemplo, si el archivo de configuración contiene la siguiente entrada inicialmente:
<DatabaseDeployment DatabaseProjectFileName="..\..\..\SalesDB\SalesDB.DBProj" Configuration="Debug" />Actualice el archivo como sigue:
<DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\SalesDB\SalesDB.DBProj" Configuration="Debug" />Repita este proceso para el archivo de generación de datos, si se especificó uno.
Al finalizar, el archivo BuildComputer.dbunitttest.config se debería parecer al siguiente ejemplo:
<DatabaseUnitTesting> <DatabaseDeployment DatabaseProjectFileName="..\..\..\Sources\UnitTest\UnitTest\UnitTest.dbproj" Configuration="Debug" /> <DataGeneration ClearDatabase="true" /> <ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False" CommandTimeout="30" /> <PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=UnitTestB;Integrated Security=True;Pooling=False" CommandTimeout="30" /> </DatabaseUnitTesting>Actualice el atributo ConnectionString de ExecutionContext y PrivilegedContext para especificar las conexiones a la base de datos de destino en la que va a hacer la implementación.
En el menú Archivo, haga clic en Guardar todo.
En el Explorador de soluciones haga doble clic en app.config.
En el editor, actualice el nodo <DatabaseUnitTesting> para que coincida con lo siguiente:
<DatabaseUnitTesting AllowConfigurationOverride="true">Con esta modificación, permite que Team Foundation Build utilice el archivo de configuración de reemplazo que creó.
En el menú Archivo, haga clic en Guardar todo.
Luego, debe actualizar Local.testsettings para incluir el archivo de configuración personalizado.
Para personalizar Local.testsettings para implementar el archivo de configuración personalizado
En el Explorador de soluciones, haga doble clic en Local.testsettings.
Se muestra el cuadro de diálogo Configuración de pruebas.
En la lista de categorías, haga clic en Implementación.
Active la casilla Habilitar implementación.
Haga clic en Agregar archivo.
En el cuadro de diálogo Agregar archivos de implementación, especifique el archivo BuildComputer.dbunitttest.config que creó.
Haga clic en Aplicar.
Haga clic en Cerrar.
En el menú Archivo, haga clic en Guardar todo.
Luego, proteja la solución con el control de versiones.
Proteger la solución
En este procedimiento, protegerá todos los archivos de su solución. Estos archivos incluyen el archivo de prueba de metadatos de la solución, que contiene las listas de pruebas y las asociaciones de categorías de pruebas. Siempre que se agrega, elimina, reorganiza o cambia el contenido de las pruebas, o se cambia el contenido de listas, se actualiza automáticamente el archivo de metadatos de la prueba para que se reflejen dichos cambios.
Nota
Este procedimiento describe los pasos que hay que realizar si se usa control de versiones de Team Foundation. Si usa un software de control de versiones distinto, deberá seguir los pasos correspondientes a su software.
Para proteger la solución
Conéctese a un equipo que ejecute Team Foundation Server.
Para obtener más información, vea Utilizar el Explorador de control de código fuente.
Si su solución aún no está en el control de código fuente, agréguela al control.
Para obtener más información, vea Agregar archivos al control de versiones.
Haga clic en Ver y, a continuación, haga clic en Protecciones pendientes.
Proteja todos los archivos de la solución.
Para obtener más información, vea Proteger los cambios pendientes.
Nota
Podría tener un proceso de equipo específico para controlar la creación y administración de pruebas automatizadas. Por ejemplo, el proceso podría requerir la comprobación local de la generación, antes de proteger el código junto con las pruebas que se ejecutarán en él.
En el Explorador de soluciones, aparece un icono de candado junto a cada archivo para indicar que está protegido. Para obtener más información, vea Ver propiedades de carpetas y archivos del control de versiones.
Las pruebas están disponibles para Team Foundation Build. Ahora puede crear una definición de compilación que contenga las pruebas que desea ejecutar.
Crear una definición de compilación
Para crear una definición de compilación
En Team Explorer, haga clic en el proyecto de equipo, haga clic con el botón secundario en el nodo Compilaciones y seleccione Definición de nueva compilación.
Aparecerá la ventana Definición de nueva compilación.
En Nombre de definición de compilación, escriba el nombre que desea utilizar para la definición de compilación.
En la barra de navegación, haga clic en Valores predeterminados de compilación.
En Copiar el resultado de la compilación en la siguiente carpeta de entrega (ruta UNC, como \\servidor\recurso compartido), especifique una carpeta que contendrá la salida de la compilación.
Puede especificar una carpeta compartida del equipo local o cualquier ubicación de red en la que el proceso de compilación tenga permisos.
En la barra de navegación, haga clic en Proceso.
En el grupo Necesario, en Proyectos para compilar, haga clic en el botón Examinar.
En el cuadro de diálogo Editor de listas de proyectos de compilación, haga clic en Agregar.
Especifique el archivo de solución (.sln) que agregó al control de versiones anteriormente en este tutorial y haga clic en Aceptar.
La solución aparecerá en la lista Archivos de proyecto o solución para compilar.
Haga clic en Aceptar.
En el grupo Basic, en Pruebas automatizadas, especifique las pruebas que desea ejecutar. De forma predeterminada, se ejecutarán las pruebas de los archivos denominados * test*.dll de la solución.
En el menú Archivo, haga clic en Guardar nombreDeProyecto.dbproj.
Ha creado una definición de compilación. A continuación, modificará el proyecto de prueba.
Ejecutar la nueva definición de compilación
Para ejecutar el nuevo tipo de generación
En Team Explorer, expanda el nodo de proyecto de equipo, expanda el nodo de compilaciones, haga clic con el botón secundario en la definición de compilación que desea ejecutarse y, a continuación, haga clic en Poner nueva compilación en cola.
Aparece el cuadro de diálogo Poner en cola compilación {nombreDeProyectoDeEquipo} con una lista de todos los tipos de compilación existentes.
Si es necesario, en Definición de compilación, haga clic en la nueva definición de compilación.
Confirme que los valores de los campos Definición de compilación, Agente de compilación y Carpeta de destino para esta compilación sean correctos y haga clic en Poner en la cola.
Se mostrará la ficha Puesta en cola de Build Explorer. Para obtener más información, vea Administrar y ver compilaciones completadas.
Importante