Ejecutar pruebas unitarias con el Explorador de pruebas

El Explorador de pruebas de Visual Studio ayuda a integrar pruebas unitarias en el proceso de desarrollo.Se pueden 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.En este tema, se puede obtener información sobre:

En esta sección

Marcos de pruebas unitarias y proyectos de pruebas

Ejecutar pruebas en el Explorador de pruebas

  • Ejecutando pruebas

  • Ejecutar pruebas después de cada compilación

Ver los resultados de las pruebas

  • Para ver los detalles de la prueba

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

Agrupación y filtrar la lista de pruebas

  • Agrupar la lista de pruebas

  • Agrupar por rasgos

  • Buscar y filtrar la lista de pruebas

Pruebas unitarias de depuración

Analizar la cobertura código de pruebas unitarias

Diagnóstico de los problemas de rendimiento del método de prueba

Recursos Externos

  • Guía

Marcos de pruebas unitarias y proyectos de pruebas

Visual Studio incluye los marcos de pruebas unitarias de Microsoft para el código administrado y 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 pruebas se pueden escribir en cualquier lenguaje .NET, 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++.

En esta sección

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, elija Prueba en el menú de Visual Studio, elija Ventanas y elija Explorador de pruebas.

Explorador de pruebas unitarias

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.

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

Ejecutar pruebas desde la barra de herramientas del Explorador de pruebas

Hh270865.collapse_all(es-es,VS.110).gifEjecutando pruebas

Se pueden ejecutar todas las pruebas de la solución, todas las pruebas de un grupo, o un conjunto de pruebas seleccionadas.Realice una de las siguientes acciones:

  • 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 acceso directo 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 como la ejecución de pruebas.Al final de la ejecución 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.

Hh270865.collapse_all(es-es,VS.110).gifEjecutar pruebas después de cada compilación

Nota de precauciónPrecaución

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

Ejecutar después de compilar

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

En esta sección

Ver los resultados de las pruebas

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 ejecución de pruebas.

Hh270865.collapse_all(es-es,VS.110).gifPara ver los detalles de la prueba

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

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.

Hh270865.collapse_all(es-es,VS.110).gifVer 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).

En esta sección

Agrupación y filtrar 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 dispone de categorías y pares de categoría y valor para agrupar las pruebas.También puede filtrar la lista de pruebas por cadenas coincidentes con propiedades de pruebas.

Hh270865.collapse_all(es-es,VS.110).gifAgrupar la lista de pruebas

Para cambiar la manera en que se organizan las pruebas, elija la flecha abajo situada junto al botón Botón de grupo Explorador de pruebasAgrupar por y seleccione criterios nuevos de una agrupación.

Grupos de Explorador de pruebas

Agrupar

Descripción

Duración

Probar los grupos para el tiempo de ejecución: Rápido, Media, y Lento.

Resultado

Pruebas de los grupos por los resultados de la ejecución: Pruebas no superadas, Pruebas &omitidas, Pr&uebas superadas.

Rasgos

Los grupos prueban los pares bycategory/valor que se define.La sintaxis para especificar categorías y valores de característica es definida por el marco de pruebas unitarias.

Proyecto

Los grupos de pruebas con el nombre de los proyectos.

Hh270865.collapse_all(es-es,VS.110).gifAgrupar por rasgos

Una característica es normalmente un par de nombre de categoría y valor, pero también puede ser una sola categoría.Los rasgos se pueden asignar a los métodos que se identifican como método de prueba por el marco de pruebas unitarias.Un marco de pruebas unitarias puede definir categorías de característica.Puede agregar valores a las categorías de característica para definir dispone de pares de nombre de categoría y valor.La sintaxis para especificar categorías y valores de característica es definida por el marco de pruebas unitarias.

Por ejemplo, en el marco de pruebas unitarias de Microsoft para las aplicaciones administradas, se define un par nombre/valor de característica mediante TestPropertyAttribute.El marco de pruebas unitarias de Microsoft también contiene estos rasgos predefinidos:

Rasgo

Descripción

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.OwnerAttribute ]

La categoría propietario es definida por el marco de pruebas unitarias y necesita proporcionar un valor de cadena del propietario.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.PriorityAttribute ]

La categoría de la prioridad es definida por el marco de pruebas unitarias y necesita proporcionar un valor entero de prioridad.

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute ]

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

[ T:Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute ]

El atributo TestProperty permite definir categoría de característica y pares de valores.

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

Para definir una característica, utilice la macro de TEST_METHOD_ATTRIBUTE.Por ejemplo, para definir una característica denominada 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 característica de C++

Macro

Descripción

TEST_METHOD_ATTRIBUTE(attributeName, attributeValue)

Utilice la macro de TEST_METHOD_ATTRIBUTE para definir una característica.

TEST_OWNER(ownerAlias)

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

TEST_PRIORITY(priority)

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

En esta sección

Hh270865.collapse_all(es-es,VS.110).gifBuscar y filtrar la lista de pruebas

Puede utilizar filtros de 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 del Explorador de pruebas y presione ENTRAR, la lista de pruebas se filtra para mostrar solo las pruebas cuyos nombres completos contienen la cadena.

Para filtrar por distintos criterios:

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

  2. Elija los nuevos criterios.

  3. Escriba el valor de filtro entre comillas.

Categorías de filtro de búsqueda

[!NOTA]

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

Calificador

Descripción

Rasgo

Busca categoría y el valor de característica para las coincidencias.La sintaxis para especificar categorías de característica y los valores son definidos por el marco de pruebas unitarias.

Proyecto

Busca los nombres del proyecto de prueba para las coincidencias.

Mensaje de error

Busca los mensajes de error definidos por el usuario devueltos por error aserciones para las coincidencias.

Ruta de acceso

Busca el nombre de archivo completo de los archivos de código fuente de la prueba para las coincidencias.

Nombre completo

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

Output

Busca los mensajes de error definidos 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 es definida por el marco de pruebas unitarias.

Resultado

Busca los nombres de categoría de Explorador de pruebas para las coincidencias: Pruebas no superadas, Pruebas &omitidas, Pr&uebas superadas.

En esta sección

Pruebas unitarias de depuración

Se puede utilizar el Explorador de pruebas para iniciar una sesión de depuración para las pruebas.Ejecutar código con el depurador de Visual Studio sin problemas le guía de uno a otro entre las pruebas unitarias y el proyecto en pruebas.Para iniciar la depuración:

  1. En el editor de Visual Studio, establezca un punto de interrupción en uno o más métodos de prueba que desea 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 desea 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, consulte Depurar en Visual Studio.

En esta sección

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.

Se puede determinar la cantidad del código de producto que está siendo probado realmente por las pruebas unitarias con la herramienta de cobertura de código de Visual Studio.Se puede ejecutar la cobertura de código 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 de 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.

En esta sección

Diagnóstico de los 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 la prueba y después elija Perfil en el menú contextual.Vea Analizar el rendimiento de la aplicación mediante las herramientas de generación de perfiles.

En esta sección

Recursos Externos

Hh270865.collapse_all(es-es,VS.110).gifGuía

Prueba para la entrega continuo con Visual Studio 2012 – Capítulo 2: Pruebas unitarias: Probando el interior

Vea también

Conceptos

Comprobar código utilizando pruebas unitarias

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