He investigado un poco sobre este tema y creo que sé qué hacer. Sin embargo, según tengo entendido, esto requiere una configuración confusa o compleja.
Capacidad para realizar pruebas unitarias para el código JavaScript que se utiliza en el contexto de una aplicación web.
Las funciones de JavaScript se implementan en un archivo de secuencia de comandos y se vinculan a la página HTML mediante métodos tradicionales.
Necesitamos usar un marco de prueba de unidad simple similar a Jest y evitar la necesidad de ingresar a Brower Control, como usar Selenium WebDriver y similares.
El problema es que Jest funciona con NodeJS y no estoy seguro de cómo hacer que esto funcione con la aplicación web front-end.
Según mi investigación, parece que debo mantener el script utilizado para la aplicación web en una configuración separada del proyecto de prueba. Vea el ejemplo a continuación:
//Main JavaScript used by HTML: sciprt.js function addTwoNumbers(a, b) { return a+b; } ... ... other functions ... ... <!DOCTYPE html> <html> <body> <h1>The script src attribute</h1> <script src="script.js"> </script> </body> ... ... </html> Ahora digamos que necesitamos usar Jest para escribir scripts de prueba, luego tenemos que configurar un proyecto NodeJS, lo que significa que tenemos que copiar el archivo de script script.js al proyecto de prueba y convertirlo para usar módulos de JavaScript.
Estoy tratando de evitar esta configuración confusa y buscando un método para escribir scripts de prueba para usar las mismas partes implementadas de la aplicación web sin la necesidad de jugar con los archivos.
Otro problema que enfrentaré es cómo lidiar con funciones que hacen referencia a componentes HTML. Esos no estarán disponibles para NodeJS, ¿correcto? Creo que esto se puede hacer refactorizando el código para que se vuelva modular, de modo que las funciones que se probarán no hagan referencia a elementos web.
Agradezco su ayuda para configurar un proyecto de prueba y usar el script implementado y evitar la necesidad de realizar una configuración compleja o confusa.