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++.
Contenido
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.
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.
Contenido
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.
Contenido
Ejecutar pruebas después de cada compilación
Precaución |
---|
Ejecutar pruebas unitarias después de cada compilación solo se admite en Visual Studio Ultimate y Premium. |
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. |
Contenido
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.
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.
Contenido
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).
Contenido
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 Agrupar por y seleccione un nuevo criterio de agrupación.
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. |
Contenido
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 |
---|---|
La categoría Propietario se define por el marco de pruebas unitarias y requiere que proporcione un valor de cadena del propietario. |
|
La categoría de prioridad está definida por el marco de pruebas unitarias y requiere que proporcione un valor de entero de la prioridad. |
|
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. |
|
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. |
Contenido
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:
Abra la lista desplegable a la derecha del cuadro de búsqueda.
Elija nuevos criterios.
Especifique 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 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.
Contenido
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.
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.
Contenido
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:
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.
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.
Contenido
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:
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 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.
Contenido
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