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

Foto de Louis Reed en Unsplash

TL;DR: en este artículo, veríamos los frameworks de pruebas de javascript más demandados y los revisaríamos basándonos en las percepciones del estado de los resultados de javascript.

En general, hay básicamente tres tipos o formas en que una aplicación javascript puede ser probada. La primera forma es probando las funciones individuales por separado o de forma independiente a través de una especie de método de caja negra donde las entradas se proporcionan con una salida ya conocida para asegurarse de que se producen los resultados esperados, esto se llama Prueba de la Unidad. El proceso de probar todo el componente o la aplicación para ver si se producen los resultados esperados se denomina prueba de integración. La tercera forma se conoce como Pruebas de Interfaz de Usuario, se utiliza básicamente para probar su aplicación mediante el control del navegador sin mucho énfasis en el funcionamiento interno para probar las expectativas.

¿Qué es StateOfJS

State of JS es básicamente una encuesta anual de todo JavaScript donde las opiniones de los desarrolladores que toman la encuesta se registran y se visualizan bellamente para mostrar ideas que significan el estado de JavaScript en ese año.

Los puntos de datos cubren marcos de desarrollo web frontend, bases de datos, gestión de estados, relaciones entre marcos, recepción y facilidad de uso, lenguajes que compilan a JavaScript, marcos móviles, herramientas de construcción, herramientas de prueba de JavaScript y mucho más. Es una encuesta de JavaScript muy completa que se inició en 2016 por Sacha Greif y algunos otros ayudantes y ahora cuenta con la respuesta de más de 20.000 desarrolladores en la última edición.

¿Por qué StateOfJS?

Sí, State of JS es en realidad la primera encuesta de desarrolladores solo de JavaScript que es universalmente respetada en lo que respecta a la comunidad de JavaScript. Hay otras encuestas muy populares como la encuesta de desarrolladores de stackoverflow con más de 100.000 encuestados e incluso el Informe del Estado del Ecosistema de Desarrolladores de Jetbrain con más de 6.000 encuestados, sin embargo hoy nos vamos a centrar en la encuesta de State of JS.

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.

Menciones honoríficas

Protractor

Conclusión

admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

lg