Compartir a través de


Ejecutar pruebas unitarias con el Explorador de pruebas

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

Contenido

Marcos de pruebas unitarias y proyectos de prueba

Ejecutar pruebas en Explorador de pruebas

Ver los resultados de las pruebas

Agrupar y filtrar la lista de pruebas

Crear listas de reproducción personalizadas

Depurar y analizar las pruebas unitarias

Recursos externos

Marcos de pruebas unitarias y proyectos de prueba

Visual Studio incluye los marcos de pruebas unitarias de Microsoft tanto para el código administrado como para el nativo.Sin embargo, el Explorador de pruebas 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 los marcos de terceros de pruebas unitarias, consulte Cómo: Instalar frameworks de prueba unitaria de terceros

El Explorador de pruebas puede ejecutar pruebas de varios proyectos de prueba en una solución y de las clases de prueba que forman parte del código de producción de los proyectos.Los proyectos de prueba pueden utilizar diversos marcos de pruebas unitarias.Cuando el código en pruebas se escribe para .NET Framework, el proyecto de prueba se puede escribir en cualquier lenguaje que también esté dirigido a .NET Framework, independientemente del lenguaje del código de destino.Los proyectos de código de C/C++ nativo se deben probar utilizando el marco de pruebas unitarias de C++.

Back to topContenido

Ejecutar pruebas en Explorador de pruebas

Run tests**|**Run tests after every build

Al compilar el proyecto de prueba, las pruebas aparecen en el Explorador de pruebas.Si el Explorador de pruebas no está visible, elija Prueba en el menú de Visual Studio, elija Ventanas y, después, Explorador de pruebas.

Unit Test Explorer

A medida que ejecuta, escribe y vuelve a ejecutar las pruebas, el Explorador de pruebas muestra los resultados en los grupos predeterminados Pruebas no superadas, Pruebas superadas, Pruebas saltadas y Pruebas no ejecutadas.Se puede cambiar la manera en que el Explorador de pruebas agrupa las pruebas.

Puede realizar gran parte del trabajo de buscar, organizar y ejecutar pruebas de la barra de herramientas del Explorador de pruebas.

Run tests from the Test Explorer toolbar

Back to topContenido

Ejecutar pruebas

Se pueden ejecutar todas las pruebas de la solución, todas las pruebas de un grupo o un conjunto de pruebas seleccionadas.Siga uno de estos procedimientos:

  • Para ejecutar todas las pruebas de una solución, elija Ejecutar todas.

  • Para ejecutar todas las pruebas de un grupo predeterminado, elija Ejecutar… y elija el grupo en el menú.

  • Seleccione las pruebas individuales que desea ejecutar, abra el menú contextual de una prueba seleccionada y después elija Ejecutar pruebas seleccionadas.

La barra de acierto/error en la parte superior de la ventana del Explorador de pruebas se anima a medida que se ejecutan las pruebas.Al final de la serie de pruebas, la barra de acierto/error se vuelve verde si todas las pruebas pasaron o roja si se produjo un error en las pruebas.

Back to topContenido

Ejecutar pruebas después de cada compilación

Nota de precauciónPrecaución

Ejecutar pruebas unitarias después de cada compilación solo se admite en Visual Studio Ultimate y Premium.

Run after build

Para ejecutar las pruebas unitarias después de cada compilación local, elija Prueba en el menú estándar y, a continuación, elija Ejecutar pruebas después de compilar en la barra de herramientas del Explorador de pruebas.

Back to topContenido

Ver los resultados de las pruebas

Ver detalles de la prueba**|**Vea el código fuente de un método de prueba

A medida que ejecuta, escribe y vuelve a ejecutar las pruebas, el Explorador de pruebas muestra los resultados en los grupos Pruebas no superadas, Pruebas superadas, Pruebas saltadas y Pruebas no ejecutadas.El panel de detalles en la parte inferior del Explorador de pruebas muestra un resumen de la serie de pruebas.

Ver detalles de la prueba

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

Test execution details

El panel de detalles de pruebas muestra la información siguiente:

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

  • El estado de la prueba.

  • El tiempo que el método de prueba necesitó para ejecutarse.

En caso de error, el panel de detalles también muestra:

  • El mensaje devuelto por el marco de pruebas unitarias para la prueba.

  • El seguimiento de pila cuando la prueba dio error.

Back to topContenido

Ver el código fuente de un método de prueba

Para mostrar el código fuente para un método de prueba en el editor de Visual Studio, seleccione la prueba y después elija Abrir prueba en el menú contextual (teclado: F12).

Back to topContenido

Agrupar y filtrar la lista de pruebas

Agrupación de la lista de pruebas**|Agrupación por rasgos|**Búsqueda y filtro de la lista de pruebas

El Explorador de pruebas permite 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 categorías propias y pares de categoría y valor para agrupar las pruebas.También puede filtrar la lista de pruebas haciendo coincidir las cadenas con las propiedades de pruebas.

Agrupar la lista de pruebas

Para cambiar la manera en que se organizan las pruebas, elija la flecha abajo situada junto al botón Test Explorer group buttonAgrupar por y seleccione un nuevo criterio de agrupación.

Group tests by category in Test Explorer

Grupos del Explorador de pruebas

Group

Descripción

Duración

Agrupa la prueba por tiempo de ejecución: Rápida, Media y Lenta.

Resultado

Agrupa las pruebas por resultados de la ejecución: Pruebas no superadas, Pruebas omitidas, Pruebas superadas.

Rasgos

Agrupa las pruebas por pares de categoría y valor definidos.La sintaxis para especificar categorías de rasgo y valores está definida por el marco de pruebas unitarias.

Proyecto

Agrupa las pruebas o el nombre de los proyectos.

Back to topContenido

Agrupar por rasgos

Un rasgo suele ser un par de nombre de categoría/valor, aunque también puede ser una categoría.Los rasgos se pueden asignar a métodos que se identifican como método de prueba por el marco de pruebas unitarias.Un marco de trabajo de prueba unitaria puede definir categorías de rasgos.Puede agregar valores a las categorías de rasgo para definir sus propios pares de nombre/valor de categoría.La sintaxis para especificar categorías de rasgo y valores está definida por el marco de pruebas unitarias.

Rasgos en el marco de pruebas unitarias de Microsoft para código administrado

En el marco de pruebas unitarias de Microsoft para aplicaciones administradas, se define un par de nombre y valor de característica en un atributo TestPropertyAttribute.El marco de pruebas también contiene estos rasgos predefinidos:

Rasgo

Descripción

OwnerAttribute

La categoría Propietario se define por el marco de pruebas unitarias y requiere que proporcione un valor de cadena del propietario.

PriorityAttribute

La categoría de prioridad está definida por el marco de pruebas unitarias y requiere que proporcione un valor de entero de la prioridad.

TestCategoryAttribute

El atributo TestCategory le permite proporcionar una categoría sin un valor.Una categoría definida por el atributo TestCategory también puede ser la categoría de un atributo de TestProperty.

TestPropertyAttribute

El atributo TestProperty le permite definir un par de categoría de rasgo/valor.

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

Para definir un rasgo, use la macro TEST_METHOD_ATTRIBUTE.Por ejemplo, para definir un rasgo denominado TEST_MY_TRAIT:

#define TEST_MY_TRAIT(traitValue) TEST_METHOD_ATTRIBUTE(L"MyTrait", traitValue)

Para utilizar el rasgo definido en las pruebas unitarias:

BEGIN_TEST_METHOD_ATTRIBUTE(Method1)
    TEST_OWNER(L"OwnerName")
    TEST_PRIORITY(1)
    TEST_MY_TRAIT(L"thisTraitValue")
END_TEST_METHOD_ATTRIBUTE()

TEST_METHOD(Method1)
{   
    Logger::WriteMessage("In Method1");
    Assert::AreEqual(0, 0);
}

Macros de atributo de rasgo de C++

Macro

Descripción

TEST_METHOD_ATTRIBUTE(attributeName, attributeValue)

Utilice la macro TEST_METHOD_ATTRIBUTE para definir un rasgo.

TEST_OWNER(ownerAlias)

Utilice el rasgo de propietario predefinido para especificar un propietario del método de prueba.

TEST_PRIORITY(priority)

Utilice el rasgo de prioridad predefinido para asignar prioridades relativas a sus métodos de prueba.

Back to topContenido

Buscar y filtrar la lista de pruebas

Puede utilizar los filtros del Explorador de pruebas para limitar los métodos de prueba en los proyectos que ve y ejecuta.

Cuando escribe una cadena en el cuadro de búsqueda Explorador de pruebas y elige 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 nuevos criterios.

  3. Especifique el valor de filtro entre comillas.

Filter tests in Test Explorer

[!NOTA]

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

Calificador

Descripción

Rasgo

Busca la categoría y el valor del rasgo para encontrar coincidencias.La sintaxis para especificar categorías de rasgo y valores está definida por el marco de pruebas unitarias.

Proyecto

Busca los nombres de proyecto de prueba para encontrar coincidencias.

Mensaje de error

Busca los mensajes de error definidos por el usuario que devuelven aserciones con error para encontrar coincidencias.

Ruta de acceso al archivo

Busca el nombre de archivo completo de archivos de código fuente de pruebas para encontrar coincidencias.

Nombre completo

Busca el nombre de archivo completo de los espacios de nombres, las clases y los métodos de prueba para encontrar coincidencias.

Resultados

Busca los mensajes de error definido por el usuario que se escriben en la salida estándar (stdout) o el error estándar (stderr).La sintaxis para especificar mensajes de salida está definida por el marco de pruebas unitarias.

Resultado

Busca los nombres de categoría del Explorador de pruebas para encontrar coincidencias: Pruebas no superadas, Pruebas omitidas, Pruebas superadas.

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

FilterName:"Criteria" -FilterName:"SubsetCriteria"

Por ejemplo,

FullName:"MyClass" - FullName:"PerfTest"

devuelve todas las pruebas que incluyen "MyClass" en el nombre, excepto las pruebas que también incluyen "PerfTest" en su nombre.

Back to topContenido

Crear listas de reproducción personalizadas

Puede crear y guardar una lista de pruebas que desea ejecutar o ver como grupo.Al seleccionar una lista de reproducción, las pruebas de la lista aparecerán en el Explorador de pruebas.Puede agregar una prueba a más de una lista de reproducción y todas las pruebas del proyecto estarán disponibles al elegir la lista de reproducción Todas las pruebas predeterminada.

Choose a playlist

Para crear una lista de reproducción, elija una o más pruebas en el Explorador de pruebas.En el menú contextual, elija Agregar a lista de reproducción, NewPlaylist.Guarde el archivo con el nombre y la ubicación especificada en el cuadro Crear nueva lista de reproducción.

Para agregar pruebas a una lista de reproducción, elija una o más pruebas en el Explorador de pruebas.En el menú contextual, elija Agregar a lista de reproducción y elija la lista de reproducción a la que desee agregar pruebas.

Para abrir una lista de reproducción, elija Prueba, Lista de reproducción en el menú de Visual Studio, elija en la lista de listas de reproducción usadas recientemente o bien, elija Abrir lista de reproducción para especificar el nombre y la ubicación de la lista de reproducción.

Back to topContenido

Depurar y analizar las pruebas unitarias

Depurar las pruebas unitarias**|Diagnosticar problemas de rendimiento del método de prueba|**Analizar cobertura de código de la prueba unitaria

Depurar pruebas unitarias

Se puede usar el Explorador de pruebas para iniciar una sesión de depuración para las pruebas.La ejecución paso a paso del código con el depurador de Visual Studio permite avanzar y retroceder sin problemas entre las pruebas unitarias y el proyecto objeto de prueba.Para iniciar la depuración:

  1. En el editor de Visual Studio, establezca un punto de interrupción en uno o varios métodos de prueba que desee depurar.

    [!NOTA]

    Dado que los métodos de prueba se pueden ejecutar en cualquier orden, establezca puntos de interrupción en todos los métodos de prueba que desee depurar.

  2. En el Explorador de pruebas, seleccione los métodos de prueba y después elija Depurar pruebas seleccionadas en el menú contextual.

Para obtener más información sobre el depurador, vea Depurar en Visual Studio.

Back to topContenido

Diagnosticar problemas de rendimiento del método de prueba

Para diagnosticar por qué un método de prueba tarda demasiado tiempo, seleccione el método en el Explorador de pruebas y elija perfil en el menú contextual.Vea Analizar el rendimiento de la aplicación mediante las herramientas de generación de perfiles.

Analizar la cobertura código de pruebas unitarias

[!NOTA]

La cobertura de código de pruebas unitarias solo está disponible en Visual Studio Ultimate y Visual Studio Premium.

Con la herramienta de cobertura de código de Visual Studio se puede determinar la cantidad del código de producto que las pruebas unitarias están probando realmente.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 para los métodos de prueba de una solución:

  1. Elija Pruebas en el menú de Visual Studio y elija Analizar cobertura de código.

  2. Elija uno de los siguientes comandos en el submenú:

    • Pruebas seleccionadas ejecuta los métodos de prueba que ha seleccionado en el Explorador de pruebas.

    • Todas las pruebas ejecuta todos los métodos de prueba en la solución.

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.

Back to topContenido

Recursos externos

Guía

Capítulo 2 sobre pruebas unitarias internas en la guía sobre pruebas para entrega continua con Visual Studio 2012

Vea también

Conceptos

Comprobar código utilizando pruebas unitarias

Cómo: Ejecutar una prueba unitaria como un proceso de 64 bits