Aller au contenu principal

Jest 23 : 🔥 Des tests ultra-rapides et agréables

· 8 min de lecture
Ricky Hanlon
Ricky Hanlon
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Aujourd'hui, nous sommes ravis d'annoncer Jest 23, notre version majeure la plus importante à ce jour ! Avec plus de 100 contributeurs, nous avons livré une multitude de fonctionnalités et de corrections de bugs. Merci à toute la communauté d'avoir contribué à rendre les tests JavaScript agréables.

Nous souhaitons également souhaiter la bienvenue à Babel et webpack dans la communauté Jest ! Après leur migration de Mocha vers Jest 23 Beta, webpack a vu le temps total de sa suite de tests réduit par 6, passant de plus de 13 minutes à 2 minutes 20 secondes. #blazingmeansgood

Voici quelques points forts et changements cassants de Jest 23.

Jest 22 : Améliorations et Runners Personnalisés

· 9 min de lecture
Simen Bekkhus
Simen Bekkhus
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Aujourd'hui, nous annonçons une nouvelle version majeure de Jest qui affine presque tous les aspects du framework pour offrir une base de test plus solide. Avec la communauté Jest, nous avons apporté de nombreuses améliorations transversales qui vous aideront à tirer pleinement parti de Jest. Nous sortons également la fonctionnalité de runners personnalisés de sa phase expérimentale et ajoutons un nouveau package, jest-worker, pour paralléliser le travail entre plusieurs processus. Vous trouverez ci-dessous une liste des principales nouveautés, mais n'oubliez pas de consulter le changelog complet comme toujours.

Jest 20 : 💖 Des tests délicieux & 🏃🏽 Exécuteur multi-projets

· 7 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Il y a quelques mois, nous annoncions Jest 19 avec des fonctionnalités majeures et la plus importante version de Jest jusqu'alors. Jest 20 comporte deux fois plus de changements que la version précédente, propose une réécriture complète de l'exécuteur de tests et ajoute de nouvelles API de test. Cette nouvelle version offre un niveau inédit de personnalisation et de configuration pour les projets, tout en simplifiant la mise à jour. Au-delà du "JavaScript Testing sans douleur", nous pensons que Jest propose désormais une expérience de test JavaScript délicieuse. Examinons en détail les meilleures nouvelles fonctionnalités :

Exécuteur multi-projets et refonte de la configuration

Jusqu'à présent, Jest ne pouvait fonctionner que sur un seul projet à la fois. Cela devient vite fastidieux lorsqu'on travaille sur plusieurs petits projets ayant chacun leur configuration propre. Avec Jest 20, nous avons entièrement réécrit l'exécuteur pour gérer simultanément plusieurs projets dans une seule instance de Jest. Par exemple si vous travaillez sur un frontend React et un backend Node.js. Voici une vidéo de Jest exécutant des tests pour React, Relay, Yarn et Jest lui-même en parallèle :

exécuteur multi-projets

🃏 Jest 19 : Mode Watch Immersive et Améliorations de la Plateforme de Test

· 9 min de lecture
Rogelio Guzman
Rogelio Guzman
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Nous sommes ravis de livrer aujourd'hui la version 19 de la plateforme de test Jest. Il s'agit de la plus importante version de Jest que nous ayons publiée à ce jour, et nous sommes très enthousiastes de vous montrer ce que nous avons construit ces deux derniers mois :

Mode Watch Immersif

Nous avons entièrement réécrit le mode watch pour le rendre instantané et plus extensible. Le résultat offre une expérience véritablement immersive : les tests se relancent instantanément après une modification de fichier et nous avons simplifié la sélection des tests pertinents.

Une excellente expérience développeur

· 4 min de lecture
Héctor Ramos
Héctor Ramos
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Nous sommes convaincus qu'une excellente documentation est essentielle pour offrir une expérience développeur exceptionnelle. Les docs doivent être claires, concises et utiles aussi bien aux nouveaux utilisateurs qu'aux vétérans. Dans cette optique, nous avons récemment consacré du temps à refondre le site web de Jest.

Documentation améliorée

L'un des changements que vous remarquerez en visitant notre documentation est la barre latérale mise à jour. La documentation est désormais divisée en trois grandes parties : une introduction à Jest, des guides détaillés sur ses fonctionnalités et une référence API complète.

La section Introduction vous guidera depuis l'installation de Jest et l'écriture de votre premier test jusqu'à l'utilisation des matchers de Jest et au test de code asynchrone. Si vous débutez avec Jest ou avez besoin d'un rappel rapide, ces docs vous permettront de monter en compétence en un rien de temps. Si vous avez déjà utilisé Jest et cherchez juste un mémo sur son installation, le guide Premiers pas est fait pour vous.

Une fois à l'aise avec Jest, passez à la section avancée des Guides. Le nouveau guide sur les tests par snapshot couvre tout ce que vous devez savoir sur la création et la maintenance des cas de test par snapshot.

Enfin, nous avons entièrement repensé notre documentation de référence API. Vous trouverez désormais des informations détaillées sur toutes les Globals de Jest, ses matchers et chaque option prise en charge par le CLI jest.

Jest en 2016

· 10 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

2016 a été une année charnière pour les tests JavaScript avec Jest. Durant les six premiers mois, nous avons entièrement réécrit Jest et bâti des bases solides pour considérablement améliorer les performances et l'expérience développeur lors des tests de code JavaScript. Nous avons typé l'intégralité du codebase avec Flow, développé une multitude de tests d'intégration pour Jest lui-même et adopté lerna pour transformer Jest d'un simple framework en une plateforme de tests JavaScript indolores.

Le tout nouveau react-test-renderer a enfin permis de tester des composants react-native. Grâce au preset jest-react-native (désormais intégré directement dans react-native), Jest fonctionne désormais immédiatement pour tout projet React et vient préconfiguré dans les projets create-react-app et react-native. Nous avons intégré des éléments clés de Jest dans le packager de react-native et la toute nouvelle fonctionnalité de snapshot testing a depuis été utilisée en dehors de Jest : elle a été intégrée à React Storybook sous le nom de « storyshots » et est adoptée par d'autres test runners comme ava.

Jest 16.0 : CLI suralimentée et nouvelles de la communauté

· 8 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Un mois s'est écoulé depuis la dernière version majeure, et nous avons apporté des améliorations significatives à Jest. Dans cette version majeure, nous mettons à jour le format des snapshots, ce qui nécessitera probablement leur mise à jour lors de la mise à niveau de Jest. Nous ne prenons pas ces changements à la légère et ne nous attendons pas à ce que cela se produise souvent, mais nous pensons nécessaire d'améliorer le format de temps en temps.

CLI améliorée

reporter

Jest 16 propose une nouvelle interface de rapport qui affiche les tests en cours d'exécution ainsi qu'un résumé en direct et une barre de progression basée sur le temps d'exécution estimé des tests précédents. Nous avons également amélioré la sortie CLI pour une meilleure compatibilité avec différents schémas de couleurs. Si des tests avaient échoué lors d'une exécution précédente, Jest les exécutera désormais en premier pour fournir rapidement des informations utiles aux utilisateurs.

Jest 15.0 : Nouvelles valeurs par défaut pour Jest

· 9 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Nous avons passé l'année dernière à rendre Jest plus rapide, plus facile à configurer, à ajouter des tonnes de fonctionnalités et à implémenter les tests par snapshot. Cependant, deux domaines ont reçu peu d'attention : le rendu CLI et l'expérience utilisateur. Avec Jest 15, nous transformons radicalement le framework pour le rendre plus accessible aux débutants comme aux utilisateurs expérimentés. Nous sommes ravis de voir notre investissement porter ses fruits : nous pouvons désormais évoluer rapidement et améliorer le framework pour Facebook et la communauté open source à vitesse grand V. L'objectif de Jest est d'être complet et de nécessiter un minimum de configuration. Nous avons récemment exposé notre philosophie dans une issue de create-react-app.

Le changement majeur concerne un ensemble de nouvelles valeurs par défaut. Les utilisateurs existants devront probablement mettre à jour leur configuration pour Jest 15. Dans la plupart des cas, cela simplifiera votre setup et Jest fournira des messages d'erreur utiles durant la migration. Toutes les nouvelles options peuvent être désactivées selon vos besoins, mais nous considérons ces fonctionnalités comme essentielles dans certains contextes et continuerons à les utiliser et maintenir chez Facebook à long terme. Notre documentation API a été entièrement réécrite pour refléter ces changements. Cette pull request pour React illustre certaines modifications nécessaires pour les projets existants.

Jest 14.0 : Tests par instantané de l’arborescence React

· 6 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

L'une des philosophies de Jest est de proposer une expérience intégrée "zéro configuration". Nous souhaitons faciliter au maximum l'écriture de tests pertinents et utiles. Nous avons observé que lorsque les ingénieurs disposent d'outils prêts à l'emploi, ils écrivent davantage de tests, ce qui se traduit par des bases de code stables et saines.

Une grande question ouverte était comment écrire efficacement des tests React. Il existe de nombreux outils comme ReactTestUtils et enzyme. Ces deux outils sont excellents et activement utilisés. Cependant, les ingénieurs nous ont souvent rapporté qu'ils passaient plus de temps à écrire un test qu'à développer le composant lui-même. Par conséquent, beaucoup ont cessé complètement d'écrire des tests, menant à des instabilités. Les ingénieurs nous ont expliqué qu'ils voulaient simplement s'assurer que leurs composants ne changent pas de manière inattendue.

Jest 13.0 : Flow & REPL

· 4 min de lecture
Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Nous sommes ravis d'annoncer aujourd'hui la prochaine version majeure de Jest. Nous avons apporté des changements significatifs qui bénéficieront à tous les utilisateurs ainsi qu'à l'infrastructure de tests JavaScript de Facebook. Plus important encore, nous avons ajouté des types statiques à l'intégralité du codebase de Jest lors d'un récent hackathon organisé chez Facebook. Quinze personnes ont travaillé jour et nuit pour intégrer les types Flow à Jest et développer de nouvelles fonctionnalités. Ces types statiques remplissent deux objectifs essentiels : Premièrement, nous pensons que le code est écrit pour être lu. La plupart du temps, le code n'est écrit qu'une seule fois mais relu par des dizaines de personnes pendant des années. L'ajout de types statiques documente le code et clarifie l'architecture de Jest. Deuxièmement, cela facilite la maintenance et nous permet de refactoriser des parties de Jest plus sereinement, sans crainte de régressions.

Le projet Flow a considérablement évolué chez Facebook et a été adopté avec succès dans de nombreux frameworks et presque tout notre code produit. Son adoption peut être parallélisée de façon remarquable – elle peut se faire fichier par fichier jusqu'à ce qu'une part suffisante du codebase soit correctement typée. Ensuite, Flow apporte une réelle valeur ajoutée et guide les refontes majeures. Grâce à cette approche, de nombreux cas limites et bugs subtils ont été détectés.