Por qué el modo navegador
Motivación
Desarrollamos la funcionalidad de modo navegador de Vitest para optimizar los flujos de trabajo de prueba y obtener resultados más precisos y fiables. Esta adición experimental a nuestra API de pruebas permite a los desarrolladores ejecutar pruebas directamente en un navegador nativo. En esta sección, exploraremos las razones detrás de esta funcionalidad y sus beneficios para el proceso de pruebas.
Diferentes enfoques de prueba
Existen diversas metodologías para probar código JavaScript. Algunos frameworks de prueba simulan entornos de navegador en Node.js, mientras que otros ejecutan las pruebas en navegadores reales. En este contexto, jsdom es un ejemplo de implementación de especificación que simula un entorno de navegador cuando se utiliza con un ejecutor de pruebas como Jest o Vitest. Por otro lado, herramientas como WebdriverIO o Cypress permiten a los desarrolladores probar sus aplicaciones en un navegador real, y Playwright incluso proporciona un motor de navegador propio.
La limitación de la simulación
La prueba de programas JavaScript en entornos simulados como jsdom o happy-dom ha simplificado la configuración de las pruebas y ha ofrecido una API fácil de usar, lo que los hace adecuados para muchos proyectos y aumenta la confianza en los resultados. Sin embargo, es crucial entender que estas herramientas solo simulan un entorno de navegador y no un navegador real. Esto puede generar discrepancias entre el entorno simulado y el entorno de ejecución real, lo que podría resultar en falsos positivos o negativos en los resultados de las pruebas.
Para alcanzar el más alto nivel de confianza en nuestras pruebas, es fundamental ejecutarlas en un entorno de navegador real. Por esta razón, desarrollamos la funcionalidad de modo navegador en Vitest, permitiendo a los desarrolladores ejecutar pruebas de forma nativa en un navegador y obtener resultados más precisos y fiables. Con las pruebas en el navegador, los desarrolladores pueden tener mayor certeza de que su aplicación funcionará según lo previsto en un escenario del mundo real.
Desventajas
Al utilizar el modo navegador de Vitest, es importante considerar las siguientes desventajas:
Fase de desarrollo temprana
La funcionalidad de modo navegador de Vitest se encuentra aún en sus primeras etapas de desarrollo. Por lo tanto, es posible que no esté completamente optimizada y que contenga errores o problemas pendientes de resolución. Se recomienda que los usuarios complementen el uso del modo navegador de Vitest con un ejecutor de pruebas de navegador independiente como WebdriverIO, Cypress o Playwright.
Inicialización más prolongada
El modo navegador de Vitest requiere la inicialización del proveedor y del navegador durante el proceso de arranque, lo que puede llevar tiempo. Esto puede resultar en tiempos de inicialización más largos en comparación con otros enfoques de prueba.