Share via


Ejecución de pruebas con Recarga activa

Las ejecuciones de Visual Studio implican la creación del 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 Visual Studio puede variar en función del tipo de cambios realizados en el código. En el caso de las 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 las compilaciones para escenarios admitidos.

Qué se admite

  • Proyectos de C# y VB que tienen como destino .NET 6.0 y superiores
  • Proyectos de prueba creados para la configuración DEBUG
  • Visual Studio 2022 y posteriores

Habilitación de la ejecución de pruebas con Recarga activa

Para habilitar esta característica, elija Opciones de>prueba>"(Experimental) Habilitar ejecuciones de prueba recargadas activas para proyectos de prueba de C# y VB que tienen como destino .NET 6 y superior" . Screenshot of the Enable Hot Reloaded Test Runs button on the Visual Studio Test Options page. When this is selected, tests execution will use hot reload for supported scenarios

¿Por qué es experimental?

Se trata de una nueva manera de probar la ejecución en la que se cambia una ruta de acceso ampliamente utilizada de validación de 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 estos dos motivos, actualmente hemos etiquetado esta característica como "experimental".

Funcionamiento

Una vez habilitada la opción, el Explorador de pruebas usará automáticamente la ejecución de pruebas con recarga activa cuando sea posible. Si no es posible realizar una recarga activa, volverá al comportamiento normal de la creació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 primer lugar, estamos usando la misma infraestructura de edición y continuación 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 esta razón, realizamos la recarga activa solo cuando no hay "ediciones groseras", en cuyo caso se vuelven a crear sus pruebas antes de ejecutarlas. Para obtener más información sobre las ediciones admitidas, lea la documentación sobre la edición y continuación.

¿Cuánto más rápida 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 tiempo tarda la compilación del proyecto.
  • Qué tipo de edición se ha realizado.
  • Tamaño del archivo donde se realizó la edición.
  • Donde 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 se habría producido en esa ejecución de prueba específica.

Notas

  • La primera ejecución de prueba después de habilitar la opción o de abrir Visual Studio generará una compilación de proyecto.
  • Es posible que los archivos del editor no se guarden cuando se ejecutan pruebas. Para resolverlos y antes de insertar en el repositorio, 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 con recarga activa.
  • La ejecución de pruebas con recarga activa no funciona con"Probar>Ejecutar todas las pruebas", "Ejecutar todas las pruebas en la vista" en el Explorador de pruebas ni funciona con Ejecutar todas las pruebas desde el nodo de la solución en 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 hay en el disco y lo que muestra el Explorador de pruebas, considere la posibilidad de crear una solución o proyecto mediante Ctrl+Mayús+B y, después, ejecute pruebas. Cualquier compilación explícita reemplaza los resultados de las pruebas 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
    • Live Unit Testing
    • Generación de perfiles
    • Depuración
  • Es posible que los seguimientos de pila no sean legibles con la presencia de tokens ilegibles. El seguimiento de este problema se está realizando aquí y está previsto que se corrija en .NET 7.0.
    • La solución recomendada en este caso es compilar el proyecto y volver a ejecutar la prueba.

Sus comentarios son importantes.

Como se indicó anteriormente, para que esta característica experimental se complete, necesitamos sus comentarios. Si tiene una sugerencia sobre cómo debe ser la experiencia o si encuentra algún problema, didique un momento para notificarnos los problemas. Solo con sus comentarios podemos asegurarnos de que se resuelven los problemas críticos y de que las decisiones futuras se priorizan en función de su opinión.

Para ponerse en contacto con nosotros, use el mecanismo de comentarios de Visual Studio.