Les tests avec Javascript
Devenez un expert en tests JavaScript avec Jest et Cypress, en maîtrisant les tests unitaires, fonctionnels, et l’automatisation pour garantir la qualité de votre code.

Description
Les tests sont une composante essentielle du développement logiciel moderne, garantissant la qualité, la fiabilité et la maintenabilité du code.
Cette formation "Les tests avec JavaScript" est conçue pour vous initier aux meilleures pratiques de tests en JavaScript, en utilisant des outils et frameworks populaires comme Jest et Cypress.
Que vous soyez un développeur souhaitant renforcer vos compétences en assurance qualité ou que vous cherchiez à implémenter des tests automatisés dans vos projets, cette formation vous fournira les bases et les compétences avancées nécessaires pour écrire des tests robustes et efficaces.
Au cours de cette formation, vous découvrirez comment écrire des tests unitaires et fonctionnels, utiliser des outils de coverage pour évaluer la qualité de vos tests, et automatiser vos tests pour gagner en efficacité.
Vous explorerez également l'intégration des tests dans des projets TypeScript et apprendrez à utiliser les anciens frameworks de tests encore largement présents dans les projets existants. Rejoignez-nous pour maîtriser l'art du testing en JavaScript et élever la qualité de vos développements à un niveau supérieur.
Publics visés
- Développeurs JavaScript souhaitant améliorer leurs compétences en tests.
- Développeurs web cherchant à intégrer des tests automatisés dans leurs projets.
Pré-requis
- Connaissance de base en JavaScript.
- Expérience avec un framework ou une bibliothèque JavaScript moderne.
Compétences
Écrire et exécuter des tests unitaires avec Jest.
Comprendre et implémenter des tests fonctionnels.
Utiliser les outils de coverage pour évaluer la qualité des tests.
Automatiser les tests de bout en bout avec Cypress.
Intégrer des tests dans des projets TypeScript.
Connaître les anciens frameworks de tests (Mocha, Jasmine) et leurs usages.
Maîtriser les techniques avancées de Jest (mocking, timers, expect).
Gérer les hooks de préparation et de nettoyage des tests avec Jest.
Intégrer les tests dans un pipeline GitHub CI/CD.
Configurer un environnement de test complet pour les projets JavaScript.
Contenu du cours
Découverte des bases du testing en JavaScript.
Pourquoi les tests sont essentiels dans le développement logiciel.
Présentation des principaux frameworks de tests en JavaScript.
Mise en place d'un environnement de test pour un projet JavaScript.
Explorer les tests unitaires, fonctionnels, d'intégration et end-to-end.
Comprendre la pyramide de test et les stratégies efficaces.
Découvrir le développement piloté par les tests.
Apprentissage des bases des tests unitaires avec Jest.
Découverte de Jest, un framework de tests puissant pour JavaScript.
Créer des tests unitaires pour des fonctions et modules JavaScript.
Maîtriser les opérateurs de test expect dans Jest.
Utiliser des simulations (mocks) pour isoler les tests.
Apprendre à mocker des librairies externes avec Jest.
Tester le code utilisant des fonctions de timing (setTimeout, setInterval).
Utiliser les hooks beforeEach, afterEach pour préparer et nettoyer les tests.
Tester du code asynchrone avec Jest.
Comprendre l'ordre d'exécution des tests et des suites de tests.
Explorer les fonctionnalités spécifiques de Jest pour un développement amélioré.
Évaluer la couverture de code avec Jest.
Maîtriser les tests fonctionnels pour valider le comportement des applications.
Comprendre le rôle des tests fonctionnels en développement.
Créer des tests fonctionnels pour valider le comportement des applications.
Valider l'intégration des différents modules d'une application.
Tester les interactions asynchrones dans les tests fonctionnels.
Structurer et organiser les tests pour une meilleure maintenabilité.
Interpréter les résultats des tests pour améliorer le code.
Simuler les dépendances dans les tests fonctionnels.
Découverte de Cypress pour les tests end-to-end automatisés.
Qu'est-ce que Cypress et pourquoi l'utiliser pour les tests automatisés ?
Créer des tests automatisés end-to-end avec Cypress.
Utiliser les outils de débogage pour résoudre les problèmes de tests.
Gérer les interactions asynchrones dans les tests Cypress.
Structurer et organiser vos tests end-to-end pour une meilleure maintenabilité.
Utiliser le Cypress Dashboard pour analyser et surveiller les tests.
Intégrer Cypress dans un pipeline d'intégration continue.
Tester des applications écrites en TypeScript avec Jest et Cypress.
Adapter Jest pour tester du code TypeScript.
Créer des tests unitaires pour des modules TypeScript.
Gérer les types et les erreurs de typage dans les tests Jest.
Appliquer les types TypeScript dans les tests end-to-end Cypress.
Utiliser les outils de débogage pour résoudre les problèmes de tests TypeScript.
Configurer Cypress pour tester des applications TypeScript.
Découverte des anciens frameworks de tests toujours en usage.
Découverte de Mocha, un framework de tests JavaScript classique.
Utiliser Mocha avec Chai pour écrire des tests en JavaScript.
Comprendre les différences entre Jest, Mocha et Jasmine.
Découverte de Jasmine, un autre framework de tests populaire.
Tester du code hérité avec Jasmine.
Passer des tests existants sous Mocha/Jasmine vers Jest.
Intégration des tests dans un pipeline CI/CD pour une automatisation complète avec GitHub.
Pourquoi automatiser les tests dans un pipeline CI/CD.
Exécuter des tests Jest automatiquement avec GitHub Actions.
Intégrer Cypress dans un pipeline CI/CD avec GitHub pour des tests end-to-end automatisés.
Suivre et analyser les résultats des tests dans un pipeline GitHub CI/CD.
Optimiser les pipelines CI/CD pour des tests rapides et fiables.
Lier les tests à d'autres étapes du workflow CI/CD.
Enseignant

Julien Moulin
Fondateur & Formateur Js/Ts
Julien Moulin est un expert en développement full stack (JS/TS) et un leader technique reconnu. Il excelle dans l'adoption de technologies innovantes tout en répondant aux besoins clients. Son approche allie pragmatisme et innovation, avec une expertise couvrant les plateformes e-commerce, les applications métiers et la modernisation des architectures existantes. En mentor passionné, il partage ses connaissances avec pédagogie, encourage l’apprentissage continu, et inspire ses équipes à relever des défis ambitieux.
Vous aimerez aussi
Découvrez de fabuleux cours dans les mêmes sujets