Compartir a través de


Cómo: Configurar la implementación de pruebas

El motor de pruebas de Visual Studio Ultimate puede ejecutar pruebas en la carpeta donde las ha creado o generado, o en una carpeta de implementación independiente. Si implementa sus pruebas en una carpeta independiente, puede continuar compilando su solución mientras se ejecutan las pruebas.

Los archivos y carpetas siguientes se copian en la carpeta de implementación antes de ejecutar las pruebas:

  • Archivo de ensamblado de prueba.

  • Todos los ensamblados dependientes

  • Los archivos que ha especificado, como los archivos XML y los archivos de configuración, de los que dependen las pruebas. Puede configurar la implementación ya sea especificando los elementos de implementación adicionales que se van a copiar o cambiando la carpeta de implementación.

La carpeta de implementación puede ser local o remota. La implementación remota de pruebas se produce cuando se trabaja con controladores del agente de prueba y agentes de prueba. Para obtener más información acerca de la implementación remota, vea Cómo: Ejecutar una prueba mediante controladores y agentes de pruebas.

Al ejecutar las pruebas de una solución, Visual Studio crea los archivos de implementación en una carpeta denominada TestResults, en la jerarquía de la solución. Si la carpeta TestResults no existe, Visual Studio la crea.

Nota

Si utiliza el IDE de Visual Studio, esta carpeta se crea inmediatamente debajo de la carpeta de la solución; si no se utiliza el IDE de Visual Studio, se crea la carpeta TestResults debajo de la carpeta actual.

Cada vez que se inicia una ejecución de pruebas, Visual Studio crea, en la carpeta TestResults, un conjunto de carpetas que se usan exclusivamente para esa ejecución de pruebas. En el ejemplo que se muestra en la ilustración siguiente, la primera carpeta situada bajo TestResults es "<nombre de usuario>@<nombre de equipo><fecha> <hora>". Éste es el formato usado para asignar un nombre a cada una de estas carpetas.

Carpeta de implementación local de pruebas

Carpetas de implementación para una ejecución de prueba local

Como se muestra en la ilustración anterior, la solución ClassLibrary1 contiene dos proyectos, ClassLibary1 y TestProject1. Dado que se han ejecutado pruebas, esta solución también contiene una carpeta denominada TestResults. La carpeta TestResults contiene un archivo de resultados de prueba para cada ejecución de prueba. Este archivo de resultados de la prueba tiene la extensión .trx.

Se crean otras carpetas bajo la carpeta TestResults, como se explica a continuación:

  • Carpeta de ejecución de prueba. Inmediatamente debajo de TestResults hay una carpeta para cada ejecución de prueba que se ha iniciado. La carpeta de ejecución de prueba tiene el mismo nombre que la ejecución de prueba, como se muestra en las ventanas Resultados de pruebas y Ejecución de prueba. El formato predeterminado del nombre de la ejecución de prueba es <usuario>@<equipo> <fecha> <hora>. La carpeta de la ejecución de pruebas también contiene los scripts de limpieza que se ejecutan antes y después de la ejecución de las pruebas.

  • Carpeta Out y subcarpetas. Cada carpeta de la ejecución de prueba contiene una carpeta denominada Out. La carpeta Out es la carpeta de implementación real. Los ensamblados y otros archivos o carpetas necesarios para la ejecución de pruebas se copian en la carpeta <solución>\TestResults\<ejecución de pruebas>\Out cada vez que se inicia una ejecución de pruebas.

  • Carpeta In y subcarpetas. Cada carpeta de la ejecución de pruebas contiene una carpeta denominada In. Cuando se generan ciertos resultados de la prueba, se almacenan en la carpeta In o en una subcarpeta. Por ejemplo, los resultados de la cobertura de código se almacenan en un archivo denominado data.coverage, en una subcarpeta que tiene el mismo nombre que <Id. de ejecución de pruebas>\<equipo en el que se ejecutaron las pruebas>.

Establecer las opciones de implementación

Puede controlar la implementación de las pruebas de las maneras siguientes:

Seleccionar los elementos de implementación. Para la implementación local de las pruebas, el motor de pruebas copia los elementos de implementación, tanto archivos como carpetas, a una carpeta de su equipo antes de ejecutarlas. Puede agregar los archivos y carpetas que se van a implementar a su archivo de configuración de pruebas. Para obtener información sobre los pasos necesarios, vea Crear una configuración de pruebas para ejecutar pruebas automatizadas desde Visual Studio o Crear una configuración de pruebas para pruebas automatizadas como parte de un plan de pruebas.

  • Para obtener información sobre el orden en el que se copian los elementos de implementación, consulte Orden de implementación.

Seleccionar los elementos de implementación para una sola prueba

Los procedimientos siguientes se aplican solo a un método de prueba. Determinan qué archivos copia Visual Studio Ultimate antes de ejecutar esa prueba concreta.

Para implementar elementos para una sola prueba utilizando la propiedad Elementos de implementación

  1. Seleccione una prueba en la ventana Vista de pruebas o en el Editor de lista de pruebas.

  2. Presione F4.

    Se mostrará la ventana Propiedades para esa prueba.

  3. Haga clic en la propiedad Elementos de implementación.

    Aparecen puntos suspensivos (...) en la columna de valor.

  4. Haga clic en los puntos suspensivos.

    Se mostrará el cuadro de diálogo Editor de colección de cadenas.

  5. Antes de que se ejecute la prueba, escriba la ruta de acceso de un archivo o una carpeta que desee copiar en la carpeta de implementación de la prueba. Presione Entrar y escriba otras rutas de acceso adicionales para especificar los archivos y carpetas adicionales que desee implementar.

    Nota

    Puede utilizar las variables de entorno en rutas de acceso para los elementos de implementación. Para obtener un ejemplo, vea DeploymentItemAttribute.

  6. Haga clic en Aceptar.

    Se implementarán los elementos de implementación especificados, además de aquéllos especificados en la configuración de ejecución que se utilice para la prueba.

    Nota

    Para las pruebas unitarias, el código que especifica estos elementos de implementación está escrito en el código fuente de la prueba, en el atributo DeploymentItem.

Para implementar elementos para una sola prueba utilizando el atributo DeploymentItem

  1. Abra el archivo de código fuente que contiene la prueba unitaria.

  2. Bajo el atributo TestMethod, agregue un atributo DeploymentItem.

  3. Para el parámetro del atributo DeploymentItem, especifique la carpeta o archivo que desee implementar para esta prueba. Puede utilizar una ruta de acceso absoluta o una ruta de acceso relativa. Las rutas de acceso relativas son relativas al valor de RelativePathRoot especificado en el archivo .testrunconfig.

    Ejemplo en C#:

    [TestMethod]

    [DeploymentItem("MyTestProject\\testdatasource.mdb")]

    public void TestMethod1()

    {

    // TODO: Add test logic here

    }

    Ejemplo en Visual Basic:

    <TestMethod()> _

    <DeploymentItem("MyTestProject\\testdatasource.mdb")> _

    Public Sub TestMethod1()

    ' TODO: Add test logic here

    End Sub

    Nota

    Sólo puede utilizar el atributo DeploymentItem en los métodos de prueba, no en las clases de prueba.

  4. Guarde y cierre el archivo de código fuente de la prueba unitaria.

    Cuando se ejecute la prueba, se implementarán los elementos de implementación especificados, además de aquéllos especificados en la configuración de ejecución que se utilice para la prueba.

Orden de implementación

Los elementos de implementación se copian en un orden determinado. Los elementos de implementación que se copien posteriormente sobrescribirán a aquéllos que se copiaron anteriormente, si tienen el mismo nombre. Por ejemplo, los elementos de implementación especificados en la configuración de pruebas se copiarán después que los elementos especificados para una prueba individual.

La lista siguiente está ordenada de prioridad mayor a menor. Dicho de otro modo, los elementos que aparecen primero sobrescribirán los que aparecen en último lugar. En la lista siguiente, algunos elementos se implementan automáticamente en la carpeta de implementación; éstos incluyen el ensamblado de la prueba, los binarios instrumentados y los ensamblados dependientes.

  1. El archivo o archivos que comprenden la prueba. Incluyen los ensamblados de prueba, para las pruebas unitarias; archivos de texto o .mht, para las pruebas manuales; u otros tipos de archivos para otros tipos de pruebas, como las pruebas genéricas.

  2. Binarios instrumentados. Son archivos binarios que se han instrumentado, por ejemplo, para habilitar la cobertura de código.

    Nota

    Si utiliza la instrumentación en contexto, los binarios en primer lugar se instrumentan y después se copian en el directorio de implementación; en caso contrario, primero se copian y después se instrumentan. La instrumentación en contexto es la configuración predeterminada para las pruebas que se ejecutan localmente. Puede cambiar este valor en la configuración de pruebas.

  3. Elementos especificados en la configuración de pruebas.

  4. Dependencias, por ejemplo, archivos de configuración de aplicación y ensamblados dependientes.

  5. Elementos de implementación por prueba. Incluyen elementos especificados para el método de prueba.

Vea también

Referencia

DeploymentItemAttribute

Conceptos

Instrumentar y volver a firmar ensamblados

Otros recursos

Crear una configuración de pruebas para ejecutar pruebas automatizadas desde Visual Studio