Compartir a través de


Ejecución de pruebas con recarga en caliente

Las ejecuciones de pruebas en Visual Studio implican compilar el proyecto para actualizar los archivos binarios en el disco antes de usar la plataforma de pruebas para ejecutar las pruebas. El tiempo de compilación dentro de Visual Studio puede variar en función del tipo de cambios realizados en el código. En el caso de soluciones más grandes, las compilaciones pueden ser la parte más costosa de la ejecución de pruebas.

En Visual Studio 2022 y versiones posteriores, la ejecución de pruebas con recarga activa se puede habilitar para acelerar la ejecución de pruebas omitiendo compilaciones para escenarios admitidos.

¿Qué se soporta?

  • Proyectos de C# y VB destinados a .NET 6.0 y versiones posteriores
  • Proyectos de prueba creados para la configuración de DEBUG
  • Visual Studio 2022 y versiones posteriores

Habilitar la ejecución de pruebas con recarga en caliente

Puede habilitar esta característica en el panel Opciones de herramientas>. Expanda la sección Todas las Configuraciones> y seleccione la casilla (Experimental) Habilitar ejecuciones de pruebas con recarga activa para proyectos de prueba de C# y VB destinados a .NET 6 y versiones posteriores.

Captura de pantalla que muestra cómo seleccionar la opción Habilitar ejecuciones de pruebas en caliente en Visual Studio.

Puede habilitar esta característica en el cuadro de diálogo Opciones de herramientas>. Expanda la sección Test>General y active la casilla (Experimental) Habilitar ejecuciones de pruebas con cambios en caliente para proyectos de prueba de C# y VB dirigidos a .NET 6 y versiones posteriores.

Captura de pantalla que muestra cómo seleccionar la opción Habilitar ejecuciones de pruebas con recarga en caliente en Visual Studio.

¿Por qué es Experimental?

Esta característica proporciona un nuevo enfoque para la ejecución de pruebas que cambia una ruta de acceso ampliamente utilizada para validar el código. La experiencia del usuario para esta característica puede cambiar a medida que seguimos recibiendo comentarios. Por estas razones, la característica está etiquetada actualmente como "experimental".

Cómo funciona

Una vez habilitada la opción, el Explorador de pruebas usa automáticamente la ejecución de pruebas con recarga activa siempre que sea posible. Si no es posible realizar una recarga en caliente, vuelve a su comportamiento normal de compilar y ejecutar pruebas. Como usuario que ejecuta pruebas, no es necesario realizar ningún cambio en el flujo de trabajo (es decir, seguir editando código y ejecutando pruebas).

En segundo plano, estamos utilizando la misma infraestructura de Editar y Continuar que existe en la recién lanzada experiencia de Hot Reload para editar código C#/VB en tiempo de ejecución, para determinar los cambios realizados. Por este motivo, solo se vuelve a cargar en caliente cuando no hay "modificaciones groseras", en cuyo caso se revierte a la compilación de las pruebas antes de ejecutarlas. Para obtener más información sobre las ediciones admitidas, lea la documentación editar y continuar.

¿Cuánto más rápido es la ejecución de pruebas?

Hay muchas variables que entran en juego al calcular cuánto tiempo ahorra esta característica. Por ejemplo:

  • Cuánto tarda la compilación del proyecto.
  • Qué tipo de edición se realizó.
  • El tamaño del archivo donde se realizó la edición.
  • Dónde se realizó la edición (si era un proyecto hoja o no).

En última instancia, las mejoras de velocidad están directamente relacionadas con el tiempo de compilación que habría ocurrido en esa ejecución de prueba específica.

Notas

  • La primera ejecución de prueba después de habilitar la opción o abrir Visual Studio desencadena una compilación de proyecto.

  • Es posible que los archivos del editor no se guarden cuando se ejecuten pruebas. Para resolverlos y antes de iniciar la sesión, asegúrese de realizar una compilación completa (Ctrl+Mayús+B).

  • Los archivos binarios en el disco no se actualizan cuando se produce la ejecución de pruebas recargadas en caliente.

  • La ejecución de pruebas con recarga en caliente no funciona con "Test>Run All Tests", "Run All Tests in View" en Test Explorer, ni funciona con Run All Tests desde el nodo de la solución en Solution Explorer. La característica no funciona con estos comandos porque actualmente garantizan la construcción de la solución completa.

  • Cuando se ejecutan pruebas con marcos de destino no admitidos (inferiores a .NET 6.0), se produce una compilación de proyecto.

  • Si ve incoherencias entre lo que está en el disco y lo que muestra el Explorador de pruebas, pruebe una compilación de solución o proyecto con el método abreviado de teclado Ctrl + Mayús + B y, a continuación, ejecute pruebas. Cualquier compilación explícita reemplaza los resultados de la prueba de recarga activa por los resultados de pruebas de compilación completa normales.

Problemas conocidos

La ejecución de pruebas con recarga activa no se produce en los escenarios siguientes:

  • Cobertura de código
  • Pruebas de unidad en tiempo real
  • Generación de perfiles
  • Depuración de errores

Es posible que las trazas de pila no sean legibles con la presencia de tokens no legibles. Este problema se está monitorizando aquí y está planeado para solucionarlo en .NET 7.0.

  • La solución alternativa recomendada en este caso es compilar el proyecto y volver a ejecutar la prueba.

Sus comentarios son importantes

Para que esta característica experimental se complete, necesitamos sus comentarios. Si tiene una sugerencia para mejorar la experiencia o encuentra algún problema, dedique un momento a proporcionar su entrada. Solo con sus comentarios podemos asegurarnos de que se resuelven los problemas críticos y que las decisiones futuras se priorizan en función de su entrada.

Para enviar comentarios, use el mecanismo de comentarios de Visual Studio.