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

Habilite esta característica seleccionando Prueba>Opciones>"(Experimental) Habilitar ejecuciones de pruebas recargadas activas para proyectos de prueba de C# y VB destinados a .NET 6 y versiones posteriores". Captura de pantalla del botón Habilitar ejecuciones de pruebas recargadas activa en la página Opciones de prueba de Visual Studio. Cuando se selecciona esto, la ejecución de pruebas usará la recarga activa para escenarios admitidos.

¿Por qué es Experimental?

Se trata de una nueva forma de ejecutar la prueba en la que se cambia una ruta de acceso ampliamente utilizada para validar el código. También esperamos que la experiencia del usuario en torno a esta característica cambie a medida que recibamos más comentarios de los usuarios. Por estas dos razones, actualmente hemos etiquetado esta característica como "experimental".

Cómo funciona

Una vez habilitada la opción, el Explorador de pruebas usará automáticamente la ejecución de pruebas con recarga activa siempre que sea posible. Si no es posible realizar una recarga en caliente, se revertirá al comportamiento normal de la compilación y ejecución de 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, usamos la misma infraestructura editar y continuar que existe en la experiencia de recarga activa recién publicada para editar código de 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 será la ejecución de la prueba?

Hay muchas variables que entran en juego al calcular cuánto tiempo le ahorrará 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 estará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 incurrirá en 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 del disco no se actualizan cuando se produce la ejecución de pruebas recargadas en caliente.
  • La ejecución de pruebas recargadas en caliente no funciona con "Prueba>Ejecutar todas las pruebas", "Ejecutar todas las pruebas en la vista" en el Explorador de pruebas, ni tampoco funciona con Ejecutar todas las pruebas desde el nodo de la solución en el Explorador de soluciones. La característica no funciona con estos comandos porque actualmente garantizan la creación de toda la solución.
  • 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, considere la posibilidad de crear una solución o proyecto con 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
  • Las trazas de pila pueden no ser legibles con la presencia de tokens ilegibles. Este problema se está rastreando aquí y se planea una corrección para .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

Como se indicó antes, para que esta característica experimental se complete, necesitamos sus comentarios. Si tiene una sugerencia sobre cómo debe ser la experiencia o encuentra algún problema, dedique un momento a informarnos de los problemas. 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 ponerse en contacto con nosotros, use el mecanismo de comentarios de Visual Studio.