Las aplicaciones web, especialmente las de uso interno en las empresas, suelen estar escritas en dos partes. La interfaz de usuario y parte de la lógica de negocio se ejecutan en el navegador, mientras que la lógica de negocio, la autorización y la persistencia se ejecutan en un servidor. Estas dos partes se comunican normalmente a través de JSON sobre HTTP. Los endpoints no deben confundirse con una API real; son simplemente un detalle de implementación de una aplicación que se divide en dos entornos de ejecución. Al mismo tiempo, proporcionan una unión válida para probar las piezas individualmente. Al probar la parte de JavaScript, el lado del servidor puede ser simulado a nivel de red por una herramienta como Mountebank. Mock Service Worker ofrece un enfoque alternativo para interceptar las peticiones en el navegador. Esto también simplifica las pruebas manuales. Al igual que Mountebank, Mock Service Worker se ejecuta fuera del navegador como un proceso Node.js para probar las interacciones de red. Además de interacciones REST, simula las APIs GraphQL - una ventaja porque GraphQL puede ser complejo de simular manualmente a nivel de red.
Las aplicaciones web, especialmente las que son creadas para uso interno en las empresas, suelen ser construidas en dos partes. La primera, que se ejecuta en el navegador, corresponde a la interfaz de usuario y a alguna lógica de negocio. La segunda, que corre en el servidor, corresponde al resto de la lógica de negocio, la autenticación y persistencia de datos. Normalmente, ambas partes se comunican utilizando JSON sobre HTTP. Los endpoints no deberían confundirse por una API real ya que son apenas un detalle de implementación de una aplicación que está dividida en dos ambientes. Al mismo tiempo, ofrecen un punto de unión a través del cual se puede probar cada parte de manera individual. Cuando se prueba el código JavaScript, el servidor puede ser simulado a nivel de red mediante herramientas como Mountebank. Un método alternativo es interceptar las peticiones en el navegador. Nos gusta lo que propone Mock Service Worker porque con los service workers se provee una abstracción que es familiar para las personas desarrolladoras. Este enfoque permite una configuración más simple y mayor rapidez en la ejecución de las pruebas. Sin embargo, como estas pruebas no validan el funcionamiento de la capa de red, sugerimos implementar algunas pruebas de punta a punta (end-to-end) como parte de una pirámide de pruebas saludable.