Resultados de la encuesta de StateOfJS: ¿qué frameworks de pruebas de JS reinarán en 2019?
Un rápido repaso a los frameworks más indemanda de los frameworks de pruebas de javascript que tomarían protagonismo en el ecosistema javascript y con los que los desarrolladores deberían familiarizarse en 2019
Hagamos un rápido repaso de estos frameworks de pruebas en el orden en que fueron visualizados en la encuesta del estado de javascript 2018.
Consejo: Cuando trabajes con componentes (React, ES6 etc) utiliza Bit para compartir, organizar y reutilizarlos fácilmente entre aplicaciones- para construir más rápido. También puedes usarlo para probar individualmente los componentes en la nube, antes de usarlos. Pruébalo.
Jest
Jest, podría decirse que es uno de los marcos de pruebas de javascript más populares con más de 22.000 ⭐️ en github fue construido y se mantiene constantemente por el equipo de Facebook. Es un marco de pruebas javascript de configuración cero recomendado por React y el más fácil de usar también. Jest tiene una tasa de aceptación muy impresionante en 2018 por la comunidad de javascript.
Es muy performante, con una interfaz de usuario inequívoca y conveniente. Se entrega con espías y mocks y crea globales de prueba por defecto. También proporciona para las pruebas de instantáneas y los buques con una herramienta de cobertura de código incorporado. Es increíblemente rápido y una de las mejores opciones para los principiantes que quieran probar su código javascript. También hay una tonelada de recursos disponibles en línea sobre Jest.
Mocha
Mocha con más de 16.000 ⭐️ en github es el marco de pruebas de javascript más utilizado desde hace años. Se utiliza con aserciones de terceros, mocking y herramientas de espionaje como chai o enzyme. Además del ecosistema masivo Mocha tiene opciones bien establecidas con una gran documentación. Es muy flexible y abierto a una gran cantidad de extensiones.
Aunque estamos viendo una pequeña deriva de dominio de Mocha a Jest, pero Mocha sigue siendo la herramienta de pruebas más utilizada y la biblioteca más dependiente y los desarrolladores de javascript no están dejando ir todavía principalmente por la riqueza de la libertad y la flexibilidad que viene con el uso de Mocha. La comunidad de Mocha es muy masiva y hay toneladas de recursos por ahí sobre el uso y los casos de uso.
Jasmine
Jasmine es universalmente conocido como el marco de pruebas que es oficialmente recomendado por Angular para que los desarrolladores lo usen, el marco Jest fue construido basado en Jasmine. Con más de 14,000 ⭐️ en github Jasmine es uno de los frameworks más populares para probar javascript, también es uno de los más antiguos también con más recursos y apoyo de la comunidad. Los desarrolladores de Angular lo encontrarían fácil de usar e integrar ya que la documentación oficial de Angular también sugiere usar Jasmine. Es muy fácil de empezar, esto es probablemente una de las cosas que inspiró a Jest. En 2018 según la encuesta, vemos un cambio en el uso de Jasmine a Jest y también más aplicaciones de react siendo probadas por jasmine en comparación con angular.
Es muy importante tener en cuenta que las pruebas para las aplicaciones de Angular se pueden ejecutar fácilmente con Jest y prácticamente sólo se trata de la preferencia.
Karma
Karma con más de 10.000 ⭐️ en github es una especie de framework de pruebas de javascript de uso general. Puede ejecutar pruebas en el navegador o en entornos similares al navegador como jsdom. Hay soporte para herramientas de integración continua como travis y jenkins, las pruebas se pueden ejecutar en dispositivos reales o en una instancia headless de phantomJs. Es agnóstico al framework por lo que puedes describir tus pruebas con Jasmine, Mocha o escribir un simple adaptador para cualquier framework que te guste.
Las pruebas también se pueden ejecutar de forma remota desde tu terminal o IDE o utilizando servicios como BrowserStack.
AVA
AVA con más de 15.000 ⭐️ en github es actualmente el framework de pruebas javascript más minimalista que existe y que ejecuta pruebas en paralelo. AVA es un corredor de pruebas para Node.js con una API concisa, salida de error detallada, abrazo de nuevas características de lenguaje y aislamiento de procesos que le permiten escribir pruebas de manera más eficaz.
Se entrega con soporte para pruebas de instantáneas y typescript y ejecuta pruebas en modo de vigilancia por lo que es realmente rápido; también proporciona un entorno aislado para cada archivo de prueba. Es fácil de empezar y tiene una colección de recursos disponibles en línea.
Cypress
Con más de 9.000 ⭐️ en github, Cypress es una herramienta de pruebas de javascript muy rápida y fiable. Básicamente inyecta pruebas en una aplicación web, proporciona una documentación muy clara y extensa y está en constante competencia con otro marco de pruebas TestCafe.
También viene con soporte para Mocha y tiene una forma realmente buena de registrar los resultados de las pruebas en un tablero y una depuración fácil. Es el marco de pruebas a tener en cuenta en 2019 con una tasa de aceptación masivamente creciente.
Puppeteer
Con más de 43,000 ⭐️ en github, Puppeteer construido por el equipo de Google es una biblioteca de Node que proporciona una API de alto nivel para controlar Chrome o Chromium sobre el protocolo DevTools. Puppeteer se ejecuta headless por defecto, pero se puede configurar para ejecutar Chrome o Chromium completo (no headless).
Es nuevo en la escena de las pruebas pero ya tiene un montón de desarrolladores que lo utilizan (¡gracias google!) También es bastante rápido, ya que es nativo, actualmente no soporta muchas extensiones pero el futuro es realmente brillante y prometedor.
QUnit
Con más de 3,700 ⭐️ en github, QUnit es un framework de pruebas unitarias de JavaScript que fue desarrollado originalmente para probar jQuery, jQuery UI y jQuery Mobile, es un framework genérico para probar cualquier código JavaScript. Es compatible con los entornos del lado del cliente en los navegadores web, y del lado del servidor.
QUnit es similar a otros marcos de pruebas unitarias como JUnit, pero hace uso de las características que JavaScript proporciona y ayuda a probar el código en el navegador, como el soporte incorporado para la asincronía y el manejo de excepciones.
Chai
Con 6.000 ⭐️ en github, Chai es una librería de aserción de Desarrollo Dirigido por el Comportamiento y Desarrollo Dirigido por Pruebas, similar a la incorporada en Node assert
. Hace que las pruebas sean mucho más fáciles dándote un montón de aserciones que puedes ejecutar contra tu código. Se envía con soporte para cualquier otro marco de pruebas como Mocha.
TestCafe
TestCafe con más de 5,900 ⭐️en github, es un marco de trabajo de nodo utilizado para pruebas de aplicaciones javascript de extremo a extremo. Viene con soporte typescript y tiene una interfaz muy agradable para el registro de los resultados de las pruebas.
Se ejecuta en todos los entornos populares, incluyendo Windows, MacOS y Linux. Soporta navegadores de escritorio, móviles, remotos y en la nube (UI o headless). También tiene una documentación muy elaborada y una comunidad creciente.