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.
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.
Ejecutando 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.
Ejecutar pruebas después de cada compilación
Precaución |
---|
Ejecutar pruebas unitarias después de cada compilación sólo se admite en Visual Studio Ultimate. |
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.
Para 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.
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).
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.
Agrupar la lista de pruebas
Para cambiar la manera en que se organizan las pruebas, elija la flecha abajo situada junto al botón Agrupar 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. |
Agrupar 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
Buscar 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:
Abra la lista desplegable situada a la derecha del cuadro de búsqueda.
Elija los nuevos criterios.
Escriba el valor de filtro entre comillas.
[!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:
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.
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:
Elija Pruebas en el menú de Visual Studio y elija Analizar cobertura de código.
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
Guía
Vea también
Conceptos
Comprobar código utilizando pruebas unitarias
Cómo: Ejecutar una prueba unitaria como un proceso de 64 bits