Résultats de l’enquête StateOfJS : quels frameworks de test JS vont régner sur 2019 ?
Un aperçu rapide des frameworks de tests javascript les plus in-.demande de frameworks de test javascript qui prendraient le devant de la scène dans l’écosystème javascript et avec lesquels les développeurs devraient se familiariser en 2019
TL ;DR : dans cet article, nous examinerions les frameworks de test javascript les plus demandés et les passerions en revue en fonction des aperçus de l’état des résultats de javascript.
Généralement, il y a fondamentalement trois types ou façons dont une application javascript peut être testée. La première façon est de tester les fonctions individuelles séparément ou indépendamment par une sorte de méthode de boîte noire où les entrées sont fournies avec une sortie déjà connue pour s’assurer que les résultats attendus sont produits, c’est ce qu’on appelle le test unitaire. Le processus qui consiste ensuite à tester l’ensemble du composant ou de l’application pour voir si les résultats attendus sont produits est appelé test d’intégration. La troisième façon est connue sous le nom de User Interface Testing, il est utilisé pour tester essentiellement votre application en contrôlant le navigateur sans beaucoup d’emphase sur le fonctionnement interne pour tester les attentes.
Qu’est-ce que StateOfJS
State of JS est essentiellement une enquête annuelle de tout ce qui est JavaScript où les opinions des développeurs qui prennent le sondage sont enregistrées et magnifiquement visualisées pour montrer des aperçus qui signifient l’état de JavaScript dans cette année.
Les points de données couvrent les cadres de développement web frontend, les bases de données, la gestion de l’état, les relations entre les cadres, la réception et la facilité d’utilisation, les langages qui compilent en JavaScript, les cadres mobiles, les outils de construction, les outils de test JavaScript et bien plus encore. Il s’agit d’une enquête JavaScript très complète qui a été lancée en 2016 par Sacha Greif et quelques autres aides et qui compte maintenant plus de 20 000 réponses de développeurs dans la dernière édition.
Pourquoi StateOfJS ?
Oui, State of JS est en fait la toute première enquête de développeurs exclusivement JavaScript qui est universellement respectée en ce qui concerne la communauté JavaScript. Il existe d’autres enquêtes très populaires comme l’enquête stackoverflow developer avec plus de 100 000 répondants et même le rapport de Jetbrain sur l’état de l’écosystème des développeurs avec plus de 6 000 répondants, nous allons cependant nous concentrer sur l’enquête state of js aujourd’hui.
Prenons un rapide aperçu de ces frameworks de test dans l’ordre où ils ont été visualisés dans l’enquête state of javascript 2018.
Conseil : Lorsque vous travaillez avec des composants (React, ES6 etc), utilisez Bit pour les partager, les organiser et les réutiliser facilement entre les apps- pour construire plus rapidement. Vous pouvez également l’utiliser pour tester individuellement les composants dans le cloud, avant de les utiliser. Essayez-le.
Jest
Jest, sans doute l’un des cadres de test javascript les plus populaires avec plus de 22 000 ⭐️ sur github a été construit et est constamment maintenu par l’équipe de Facebook. C’est un framework de test javascript zéro-configuration recommandé par React et le plus facile à utiliser aussi. Jest a un taux d’acceptation très impressionnant en 2018 par la communauté javascript.
Il est très performant, avec une interface utilisateur sans ambiguïté et pratique. Il est livré avec des espions et des mocks et crée des globaux de test par défaut. Il prévoit également des tests snapshot et est livré avec un outil de couverture de code intégré. Il est incroyablement rapide et constitue l’une des meilleures options pour les débutants qui souhaitent se lancer dans le test de leur code javascript. Il y a également une tonne de ressources disponibles en ligne sur Jest.
Mocha
Mocha avec plus de 16 000 ⭐️ sur github est le framework de test javascript le plus utilisé depuis des années. Il est utilisé avec des assertions tierces, des outils de mocking et d’espionnage comme chai ou enzyme. En dehors de l’écosystème massif, Mocha a des options bien établies avec une excellente documentation. Il est très flexible et ouvert à de nombreuses extensions.
Bien que nous voyions une petite dérive de la domination de Mocha à Jest, mais Mocha est toujours l’outil de test le plus utilisé et la bibliothèque la plus dépendante et les développeurs de javascript ne lâchent pas encore prise principalement en raison de la richesse de la liberté et de la flexibilité qui vient avec l’utilisation de Mocha. La communauté Mocha est très massive et il y a des tonnes de ressources là-bas sur l’utilisation et les cas d’utilisation.
Jasmine
Jasmine est universellement connu comme le cadre de test qui est officiellement recommandé par Angular pour les développeurs à utiliser, le cadre Jest a été construit sur la base de Jasmine. Avec plus de 14 000 ⭐️ sur github Jasmine est l’un des frameworks les plus populaires pour tester javascript, c’est aussi l’un des plus anciens aussi avec le plus de ressources et de soutien communautaire. Les développeurs Angular le trouveraient facile à utiliser et à intégrer car la documentation officielle d’Angular suggère également d’utiliser Jasmine. Il est très facile de se lancer, c’est probablement l’une des choses qui a inspiré Jest. En 2018 selon l’enquête, nous voyons un changement dans l’utilisation de Jasmine vers Jest et aussi plus d’applications react testées par jasmine par rapport à angular.
Il est très important de noter que les tests pour les applications Angular peuvent être facilement exécutés avec Jest et c’est pratiquement juste une question de préférence.
Karma
Karma avec plus de 10 000 ⭐️ sur github est une sorte de framework de test javascript à usage général. Vous pouvez exécuter des tests dans votre navigateur ou dans des environnements de type navigateur comme jsdom. Il y a un support pour les outils d’intégration continue comme travis et jenkins, les tests peuvent être exécutés sur des appareils réels ou sur une instance headless de phantomJs. Il est agnostique en termes de frameworks, donc vous pouvez décrire vos tests avec Jasmine, Mocha ou écrire un adaptateur simple pour n’importe quel framework que vous aimez.
Les tests peuvent également être exécutés à distance depuis votre terminal ou IDE ou en utilisant des services comme BrowserStack.
AVA
AVA avec plus de 15 000 ⭐️ sur github est actuellement le framework de test javascript le plus minimaliste qui existe et qui exécute des tests en parallèle. AVA est un exécuteur de tests pour Node.js avec une API concise, une sortie d’erreur détaillée, l’embarquement de nouvelles fonctionnalités de langage et l’isolation des processus qui vous permettent d’écrire des tests plus efficacement.
Il est livré avec le support des tests instantanés et de typescript et exécute les tests en mode veille, ce qui le rend vraiment rapide ; il fournit également un environnement isolé pour chaque fichier de test. Il est facile à démarrer et dispose d’une collection de ressources disponibles en ligne.
Cypress
Avec plus de 9 000 ⭐️ sur github, Cypress est un outil de test javascript très rapide et fiable. Il injecte essentiellement des tests dans une application web, il fournit une documentation très claire et étendue et est en concurrence constante avec un autre framework de test TestCafe.
Il est également livré avec un support pour Mocha et a une très bonne façon de consigner les résultats des tests dans un tableau de bord et un débogage facile. C’est le framework de test à surveiller en 2019 avec un taux d’acceptation en croissance massive.
Puppeteer
Avec plus de 43 000 ⭐️ sur github, Puppeteer construit par l’équipe de Google est une bibliothèque Node qui fournit une API de haut niveau pour contrôler Chrome ou Chromium sur le protocole DevTools. Puppeteer fonctionne headless par défaut, mais peut être configuré pour exécuter Chrome ou Chromium complet (non headless).
Il est nouveau sur la scène des tests mais a déjà beaucoup de développeurs qui l’utilisent (merci google !) Il est également assez rapide, car il est natif, il ne supporte pas actuellement beaucoup d’extensions mais l’avenir est vraiment brillant et prometteur.
QUnit
Avec plus de 3 700 ⭐️ sur github, QUnit est un framework de test unitaire JavaScript qui a été développé à l’origine pour tester jQuery, jQuery UI et jQuery Mobile, c’est un framework générique pour tester tout code JavaScript. Il prend en charge les environnements côté client dans les navigateurs Web, et côté serveur.
QUnit est similaire à d’autres cadres de test unitaire comme JUnit, mais utilise les fonctionnalités que JavaScript fournit et aide à tester le code dans le navigateur, comme le support intégré pour l’asynchronicité et la gestion des exceptions.
Chai
Avec 6 000 ⭐️ sur github, Chai est une bibliothèque d’assertion de développement guidé par le comportement et de développement guidé par les tests, similaire à la assert
intégrée de Node. Il rend les tests beaucoup plus faciles en vous donnant beaucoup d’assertions que vous pouvez exécuter contre votre code. Il est livré avec un support pour tout autre framework de test comme Mocha.
TestCafe
TestCafe avec plus de 5 900 ⭐️ sur github, est un framework node utilisé pour les tests d’applications javascript de bout en bout. Il est livré avec le support de typescript et possède une interface vraiment agréable pour consigner les résultats des tests.
Il fonctionne sur tous les environnements populaires, notamment Windows, MacOS et Linux. Il prend en charge les navigateurs de bureau, mobiles, distants et en nuage (interface utilisateur ou sans tête). Il dispose également d’une documentation très élaborée et d’une communauté grandissante.
Mentions honorables
Protracteur
Conclusion
.