Compartir vía


Ejecución de pruebas unitarias mediante el Explorador de pruebas

Use el Explorador de pruebas para ejecutar pruebas unitarias desde proyectos de pruebas unitarias de Visual Studio o de terceros. En el Explorador de pruebas, puede agrupar pruebas en categorías, filtrar la lista de pruebas y crear, guardar y ejecutar listas de reproducción de pruebas. También puede usar el Explorador de pruebas para depurar pruebas unitarias y, en Visual Studio Enterprise, analizar la cobertura de código.

El Explorador de pruebas puede ejecutar pruebas desde varios proyectos de prueba en una solución y desde clases de prueba que forman parte de los proyectos de código de producción. Los proyectos de prueba pueden usar varios marcos de pruebas unitarias. Cuando el código sometido a prueba se escribe para .NET, el proyecto de prueba se puede escribir en cualquier lenguaje que también tenga como destino .NET, independientemente del idioma del código de destino. Debe probar proyectos de código nativos de C y C++ mediante un marco de pruebas unitarias de C++.

Compilación del proyecto de prueba

Si aún no tiene un proyecto de prueba configurado en la solución de Visual Studio, primero debe crear y compilar un proyecto de prueba. Use estos recursos:

Visual Studio incluye los marcos de pruebas unitarias de Microsoft para código administrado y nativo. Sin embargo, el Explorador de pruebas también puede ejecutar cualquier marco de pruebas unitarias que haya implementado un adaptador del Explorador de pruebas. Para obtener más información sobre cómo instalar marcos de pruebas unitarias de terceros, consulte Instalar marcos de pruebas unitarias.

Ejecutar pruebas en el Explorador de pruebas

Al compilar el proyecto de prueba, las pruebas aparecen en el Explorador de pruebas. Si el Explorador de pruebas no está visible, seleccione Prueba en el menú de Visual Studio y, a continuación, seleccione Explorador de pruebas (o seleccione Ctrl+E, T).

Captura de pantalla que muestra una lista de pruebas en el Explorador de pruebas.

Captura de pantalla que muestra una lista de pruebas en el Explorador de pruebas.

A medida que ejecute, escriba y vuelva a ejecutar las pruebas, el Explorador de pruebas muestra los resultados en una agrupación predeterminada de Proyecto, Espacio de nombresy Clase. Puede cambiar la forma en que el Explorador de pruebas agrupa las pruebas.

Puede realizar gran parte del trabajo de búsqueda, organización y ejecución de pruebas desde la barra de herramientas del Explorador de pruebas de .

Captura de pantalla que describe los iconos para ejecutar pruebas desde la barra de herramientas del Explorador de pruebas.

Captura de pantalla que describe los iconos para ejecutar pruebas desde la barra de herramientas del Explorador de pruebas.

Ejecución de pruebas

Elija una de estas opciones para ejecutar pruebas:

  • Para ejecutar todas las pruebas de una solución, seleccione el icono Ejecutar todo (o seleccione Ctrl+R, V).

  • Para ejecutar todas las pruebas de un grupo predeterminado, seleccione el icono Ejecutar y, a continuación, seleccione el grupo en el menú.

  • Para ejecutar pruebas individuales, seleccione una o varias pruebas, haga clic con el botón derecho en algún lugar del panel y, a continuación, seleccione Ejecutar pruebas seleccionadas (o seleccione Ctrl+R, T).

    Si las pruebas individuales no tienen dependencias que impidan que se ejecuten en cualquier orden, active la ejecución de pruebas paralelas en el menú de configuración de la barra de herramientas. Esta acción puede reducir el tiempo de ejecución de todas las pruebas.

Nota

Para configurar la plataforma de destino (arquitectura de proceso) para ejecutar pruebas unitarias, consulte Configuración de la arquitectura de procesos para una prueba unitaria.

Ejecutar pruebas después de cada compilación

Para ejecutar las pruebas unitarias después de cada compilación local, seleccione el icono de configuración de la barra de herramientas del Explorador de pruebas y, a continuación, seleccione Ejecutar pruebas después de la compilación.

Visualización de los resultados de las pruebas

A medida que ejecuta, crea y vuelve a ejecutar las pruebas, el Explorador de Pruebas muestra los resultados en grupos de pruebas con errores, pruebas superadas, pruebas omitidasy pruebas no ejecutadas. El panel de detalles de la parte inferior o lateral del Explorador de pruebas muestra un resumen de la ejecución de pruebas.

Visualización de los detalles de la prueba

Para ver los detalles de una prueba individual, seleccione la prueba.

Captura de pantalla de los detalles de ejecución de pruebas.

Captura de pantalla de los detalles de ejecución de pruebas.

El panel de detalles de la prueba se muestra:

  • El nombre del archivo de origen y el número de línea del método de prueba.

  • Estado de la prueba.

  • El tiempo que ha tardado en ejecutarse el método de prueba.

Si se produce un error en la prueba, también se muestra el panel de detalles:

  • Mensaje que devuelve el marco de trabajo de pruebas unitarias para la prueba.

  • Seguimiento de la pila en el momento en que se produjo un error en la prueba.

Visualización del código fuente de un método de prueba

Para mostrar el código fuente de un método de prueba en el editor de Visual Studio, haga clic con el botón derecho en la prueba y, a continuación, seleccione Abrir prueba (o seleccione la tecla F12).

Agrupar y filtrar la lista de pruebas

En el Explorador de pruebas, puede agrupar las pruebas en categorías predefinidas. La mayoría de los marcos de pruebas unitarias que se ejecutan en el Explorador de pruebas permiten definir sus propias categorías y pares de categoría/valor para agrupar las pruebas. También puede filtrar la lista de pruebas mediante la coincidencia de cadenas con las propiedades de prueba.

Agrupación de pruebas en la lista de pruebas

El Explorador de pruebas le permite agrupar las pruebas en una jerarquía. La agrupación de jerarquía predeterminada es Project, Espacio de nombresy, a continuación, Clase. Para cambiar la forma en que se organizan las pruebas, seleccione el botón Agrupar porbotón del grupo Explorador de pruebas y, a continuación, seleccione un nuevo criterio de agrupación.

Captura de pantalla que muestra las selecciones para agrupar pruebas por categoría en el Explorador de pruebas.

Puede definir sus propios niveles de la jerarquía (agrupe por Estado y, a continuación, Clase, por ejemplo) seleccionando las opciones Agrupar por en el orden que prefiera.

Captura de pantalla del Explorador de pruebas que muestra una jerarquía de pruebas en un panel y el menú Agrupar por en el otro panel, con las opciones Clase y Estado seleccionadas.

El Explorador de pruebas le permite agrupar las pruebas en una jerarquía. La agrupación de jerarquía predeterminada es Project, Espacio de nombresy, a continuación, Clase. Para cambiar la forma en que se organizan las pruebas, seleccione el botón Agrupar porbotón del grupo Explorador de pruebas y, a continuación, seleccione un nuevo criterio de agrupación.

Captura de pantalla que muestra las selecciones para agrupar pruebas por categoría en el Explorador de pruebas.

Puede definir sus propios niveles de la jerarquía (agrupe por Estado y, a continuación, Clase, por ejemplo) seleccionando las opciones Agrupar por en el orden que prefiera.

Captura de pantalla del Explorador de pruebas que muestra una jerarquía de pruebas en un panel y el menú Agrupar por en el otro panel, con las opciones Clase y Estado seleccionadas.

Grupos del Explorador de pruebas

Grupo Descripción
Duración Agrupa pruebas por tiempo de ejecución: Fast, Medium, Slow.
Estado Agrupa las pruebas por resultados de ejecución: pruebas fallidas, pruebas omitidas, pruebas superadas, pruebas no ejecutadas.
Marco de destino Agrupa las pruebas según el framework al que están dirigidos sus proyectos.
Espacio de nombres Agrupa las pruebas por espacio de nombres contenedor.
Proyecto Agrupa las pruebas por proyecto contenedor.
Clase Se agrupan las pruebas según la clase contenedora.

Rasgos

Por lo general, un rasgo es un par nombre-valor de categoría, pero también puede ser una sola categoría. Los rasgos se pueden asignar a métodos que el marco de pruebas unitarias identifica como métodos de prueba.

Un marco de pruebas unitarias puede definir categorías de rasgos. Puede agregar valores a las categorías de rasgos para definir sus propios pares de nombre y valor de categoría. El marco de pruebas unitarias define la sintaxis para especificar las categorías y valores de rasgos.

Rasgos del marco de pruebas unitarias de Microsoft para código administrado

En el marco de pruebas unitarias de Microsoft para código administrado, se define un par de nombre y valor de rasgo en un atributo TestPropertyAttribute. El marco de pruebas también contiene estos rasgos predefinidos:

Rasgo Descripción
OwnerAttribute La categoría Owner se define desde el marco de pruebas unitarias y requiere un valor de cadena del propietario.
PriorityAttribute La categoría Priority se define mediante el marco de pruebas unitarias y requiere que proporcione un valor entero de la prioridad.
TestCategoryAttribute El atributo TestCategory permite especificar la categoría de una prueba unitaria.
TestPropertyAttribute El atributo TestProperty permite definir un par de categorías y valores de rasgos.

Rasgos en el marco de pruebas unitarias de Microsoft para C++

Consulte Uso del marco de pruebas unitarias de Microsoft para C++ en Visual Studio.

Crear listas de reproducción personalizadas

Puede crear y guardar una lista de pruebas que desea ejecutar o ver como un grupo. Al seleccionar una lista de reproducción, las pruebas de la lista aparecen en una nueva pestaña Explorador de pruebas. Puede agregar una prueba a más de una lista de reproducción.

Para crear una lista de reproducción:

  1. Elija una o varias pruebas en el Explorador de pruebas.
  2. Haga clic con el botón derecho en algún lugar del panel, seleccione Agregar a la lista de reproduccióny, a continuación, seleccione Nueva lista de reproducción.

Captura de pantalla que muestra las selecciones para crear una lista de reproducción.

La lista de reproducción se abre en una nueva pestaña explorador de pruebas. Puede usar esta lista de reproducción una vez y, a continuación, descartarla. También puede seleccionar el botón Guardar en la barra de herramientas de la ventana de lista de reproducción y, a continuación, seleccionar un nombre y una ubicación para guardar la lista de reproducción.

Captura de pantalla que muestra una lista de reproducción abierta en una pestaña independiente del Explorador de pruebas.

Para abrir una lista de reproducción:

  1. En la barra de herramientas de Visual Studio, seleccione el icono de lista de reproducción.
  2. En el menú, seleccione un archivo de lista de reproducción guardado anteriormente.

Para editar una lista de reproducción, use una de estas opciones:

  • Haga clic con el botón derecho en cualquier prueba y, a continuación, use los comandos de menú para agregarlo o quitarlo de una lista de reproducción.

  • En la barra de herramientas, seleccione el botón Editar lista de reproducción. Las casillas que aparecen junto a las pruebas muestran qué pruebas se incluyen y excluyen en la lista de reproducción. Edite los grupos según sea necesario. Esta funcionalidad se inició en Visual Studio 2019, versión 16.7.

    Captura de pantalla que muestra el botón Editar lista de reproducción de la barra de herramientas.

También puede seleccionar o desmarcar las casillas de los grupos primarios de la jerarquía. Esta acción crea una lista de reproducción dinámica que siempre actualiza la lista de reproducción en función de las pruebas que se encuentran en ese grupo.

Por ejemplo, si activa una casilla junto a una clase, cualquier prueba agregada desde esa clase forma parte de esta lista de reproducción. Si elimina una prueba de esa clase, se quita de la lista de reproducción.

Puede obtener más información sobre las reglas guardando la lista de reproducción con el botón Guardar de la barra de herramientas y, a continuación, abriendo el archivo XML .playlist que se crea en su disco. Este archivo enumera todas las reglas y pruebas individuales que componen una lista de reproducción.

Captura de pantalla que muestra el contenido de un archivo XML de lista de reproducción.

Si desea crear una lista de reproducción para atributos, use el siguiente formato para el framework MSTest:

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Property Name="Trait" Value="SchemaUpdateBasic" />
  </Rule>
</Playlist>

Use el siguiente formato para el marco xUnit. Asegúrese de que haya un espacio entre tu nombre de TestCategory y el valor de [Value].

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
        </Rule>
    </Rule>
  </Rule>
</Playlist>

Puede crear y guardar una lista de pruebas que desea ejecutar o ver como un grupo. Al seleccionar una lista de reproducción, las pruebas de la lista aparecen en una nueva pestaña Explorador de pruebas. Puede agregar una prueba a más de una lista de reproducción.

Para crear una lista de reproducción:

  1. Elija una o varias pruebas en el Explorador de pruebas.
  2. Haga clic con el botón derecho en algún lugar del panel, seleccione Agregar a la lista de reproduccióny, a continuación, seleccione Nueva lista de reproducción.

Captura de pantalla que muestra las selecciones para crear una lista de reproducción.

La lista de reproducción se abre en una nueva pestaña explorador de pruebas. Puede usar esta lista de reproducción una vez y, a continuación, descartarla. También puede seleccionar el botón Guardar en la barra de herramientas de la ventana de lista de reproducción y, a continuación, seleccionar un nombre y una ubicación para guardar la lista de reproducción.

Captura de pantalla que muestra una lista de reproducción abierta en la pestaña Explorador de pruebas independiente.

Para abrir una lista de reproducción:

  1. En la barra de herramientas de Visual Studio, seleccione el icono de lista de reproducción.
  2. En el menú, seleccione un archivo de lista de reproducción guardado anteriormente.

Para editar una lista de reproducción, use una de estas opciones:

  • Haga clic con el botón derecho en cualquier prueba y, a continuación, use los comandos de menú para agregarlo o quitarlo de una lista de reproducción.

  • En la barra de herramientas, seleccione el botón Editar lista de reproducción. Las casillas que aparecen junto a las pruebas muestran qué pruebas se incluyen y excluyen en la lista de reproducción. Edite los grupos según sea necesario. Esta funcionalidad se inició en Visual Studio 2019, versión 16.7.

    Captura de pantalla que muestra el botón Editar lista de reproducción de la barra de herramientas.

También puede seleccionar o desmarcar las casillas de los grupos primarios de la jerarquía. Esta acción crea una lista de reproducción dinámica que siempre actualiza la lista de reproducción en función de las pruebas que se encuentran en ese grupo.

Por ejemplo, si activa una casilla junto a una clase, cualquier prueba agregada desde esa clase forma parte de esta lista de reproducción. Si elimina una prueba de esa clase, se quita de la lista de reproducción.

Puede obtener más información sobre las reglas guardando la lista de reproducción mediante el botón Guardar de la barra de herramientas y, a continuación, abriendo el archivo XML .playlist que se crea en el disco. Este archivo enumera todas las reglas y pruebas individuales que componen una lista de reproducción.

Captura de pantalla que muestra el contenido de un archivo XML de lista de reproducción.

Si desea crear una lista de reproducción para características, use el siguiente formato para el framework MSTest:

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Property Name="Trait" Value="SchemaUpdateBasic" />
  </Rule>
</Playlist>

Use el siguiente formato para el marco xUnit. Asegúrese de que haya un espacio entre el nombre TestCategory y el valor [Value].

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
        </Rule>
    </Rule>
  </Rule>
</Playlist>

Columnas del Explorador de pruebas

Los grupos también están disponibles como columnas en el Explorador de pruebas, junto con Rasgos, Seguimiento de la pila, Mensaje de error y Nombre completo. La mayoría de las columnas no son visibles de forma predeterminada. Puede personalizar qué columnas aparecen.

Captura de pantalla del Explorador de pruebas de Visual Studio que muestra un menú con Columnas seleccionadas y un submenú con Duración, Rasgos y Mensaje de error seleccionado.

Las columnas se pueden filtrar, reorganizar y ordenar:

  • Para filtrar por rasgos específicos, seleccione el icono de filtro en la parte superior de la columna Rasgos.

    Captura de pantalla del filtro de columna.

  • Para cambiar el orden de las columnas, seleccione un encabezado de columna y arrástrelo a la izquierda o a la derecha.

  • Para ordenar una columna, seleccione el encabezado de columna. No todas las columnas se pueden ordenar. También puede ordenar por una columna secundaria manteniendo presionada la tecla Mayús y seleccionando un encabezado de columna adicional.

    Captura de pantalla de una ordenación de columnas.

Columnas del Explorador de pruebas

Los grupos también están disponibles como columnas en el Explorador de pruebas, junto con Rasgos, Seguimiento de la pila, Mensaje de error y Nombre completo. La mayoría de las columnas no son visibles de forma predeterminada. Puede personalizar qué columnas aparecen.

Captura de pantalla del Explorador de pruebas de Visual Studio que muestra un menú con Columnas seleccionadas y un submenú con Duración, Rasgos y Mensaje de error seleccionado.

Las columnas se pueden filtrar, reorganizar y ordenar:

  • Para filtrar por rasgos específicos, seleccione el icono de filtro en la parte superior de la columna Rasgos.

    Captura de pantalla del filtro de columna.

  • Para cambiar el orden de las columnas, seleccione un encabezado de columna y arrástrelo a la izquierda o a la derecha.

  • Para ordenar una columna, seleccione el encabezado de columna. No todas las columnas se pueden ordenar. También puede ordenar por una columna secundaria manteniendo presionada la tecla Mayús y seleccionando un encabezado de columna adicional.

    Captura de pantalla de una ordenación de columnas.

Buscar y filtrar la lista de pruebas

También puede usar filtros de búsqueda del Explorador de pruebas para limitar los métodos de prueba de los proyectos que vea y ejecute.

Cuando escribe una cadena en el cuadro de búsqueda Explorador de pruebas y selecciona la tecla Entrar, la lista de pruebas se filtra para mostrar solo las pruebas cuyos nombres completos contienen la cadena.

Para filtrar por un criterio diferente:

  1. Abra la lista desplegable a la derecha del cuadro de búsqueda.

  2. Elija un nuevo criterio.

  3. Escriba el valor de filtro entre las comillas. Si quiere buscar una coincidencia exacta de una cadena en lugar de una coincidencia de contenido, use un signo igual (=) en lugar de los dos puntos (:).

Captura de pantalla de las pruebas de filtro en el Explorador de pruebas.

Captura de pantalla de las pruebas de filtro en el Explorador de pruebas.

Nota

Las búsquedas distinguen entre mayúsculas y minúsculas, y coinciden con la cadena especificada en cualquier parte del valor de criterios.

Calificador: Descripción
Estado Busca coincidencias en los nombres de categoría del Explorador de pruebas: Pruebas fallidas, Pruebas omitidas, Pruebas superadas.
Rasgos Busca coincidencias en las categorías de rasgos y los valores. El marco de pruebas unitarias define la sintaxis para especificar las categorías y valores de rasgos.
Nombre completo Busca coincidencias en el nombre completo de los métodos, las clases y los espacios de nombres de prueba.
Proyecto Busca coincidencias en los nombres de proyecto de prueba.
Marco de destino Busca coincidencias en los marcos de prueba.
Espacio de nombres Busca coincidencias en los espacios de nombres de prueba.
Clase Busca coincidencias en los nombres de las clases de prueba.

Para excluir un subconjunto de los resultados de un filtro, use la sintaxis siguiente:

FilterName:"Criteria" -FilterName:"SubsetCriteria"

Por ejemplo, FullName:"MyClass" - FullName:"PerfTest" devuelve todas las pruebas que incluyen "MyClass" en su nombre, excepto las pruebas que también incluyen "PerfTest" en su nombre.

Analizar la cobertura de código de prueba unitaria

Puede determinar la cantidad de código de producto que las pruebas unitarias están probando realmente mediante la herramienta de cobertura de Visual Studio Code que está disponible en Visual Studio Enterprise. La cobertura de código se puede ejecutar en pruebas seleccionadas o en todas las pruebas de una solución.

Para ejecutar la cobertura de código en los métodos de prueba de una solución:

  • Haga clic con el botón derecho en el Explorador de pruebas y seleccione Analizar cobertura de código para pruebas seleccionadas.

La ventana Resultados de la cobertura de código muestra el porcentaje de bloques de código de producto que se han ejecutado por línea, función, clase, espacio de nombres y módulo.

Para obtener más información, vea Usar cobertura de código para determinar la cantidad de código que se está probando.

Métodos abreviados de prueba

Puede ejecutar pruebas desde el Explorador de pruebas mediante:

Algunos de los métodos abreviados están basados en contexto. Ejecutan, depuran o generan perfilesde pruebas en función de dónde se encuentre el cursor en el editor de código. Si el cursor está dentro de un método de prueba, ese método de prueba se ejecuta. Si el cursor está al nivel de clase, entonces se ejecutan todas las pruebas de esa clase. El mismo comportamiento es cierto para el nivel de espacio de identificación.

Comandos frecuentes Métodos abreviados de teclado
TestExplorer.DebugAllTestsInContext Ctrl+R, Ctrl+T
TestExplorer.RunAllTestsInContext Ctrl+R, T
TestExplorer.RunAllTests Ctrl+R, A
TestExplorer.RepeatLastRun Ctrl+R, L

Nota

No se puede ejecutar una prueba en una clase abstracta, ya que las pruebas solo se definen en clases abstractas y no se crean instancias. Para ejecutar pruebas en clases abstractas, cree una clase que derive de la clase abstracta.

Configuración de indicaciones de audio

El Explorador de pruebas puede reproducir uno de estos sonidos cuando finaliza una ejecución de prueba:

  • Sonido que indica que la ejecución de la prueba se realizó correctamente con todas las pruebas superadas
  • Un sonido que indica que la ejecución de pruebas finalizó con al menos una prueba con errores

Puedes configurar estos sonidos en el cuadro de diálogo predeterminado de Windows 11 Sonido. Esta característica está disponible a partir de Visual Studio 2019 Update 16.9 Preview 3.

  1. Abra el cuadro de diálogo predeterminado de Windows 11 Sonido.
  2. Vaya a la pestaña Sonidos.
  3. Busque la categoría Microsoft Visual Studio. Elija el sonido preestablecido Ejecución de prueba exitosa o Ejecución de prueba fallida, o busque su propio archivo de audio.

Captura de pantalla del cuadro de diálogo Sonido de Windows 11.