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

7 chapites • 49 vidéos • 5h 43m de cours
Introduction aux tests
6 vidéos • 41m

Découverte des bases du testing en JavaScript.

Importance des tests
05:00

Pourquoi les tests sont essentiels dans le développement logiciel.

Vue d'ensemble des frameworks
06:00

Présentation des principaux frameworks de tests en JavaScript.

Configurer un environnement de test
07:00

Mise en place d'un environnement de test pour un projet JavaScript.

Les types de tests
07:00

Explorer les tests unitaires, fonctionnels, d'intégration et end-to-end.

Stratégies et pyramide
07:30

Comprendre la pyramide de test et les stratégies efficaces.

Introduction au TDD
08:30

Découvrir le développement piloté par les tests.

Tests Unitaires avec Jest
11 vidéos • 1h 17m

Apprentissage des bases des tests unitaires avec Jest.

Introduction à Jest
05:00

Découverte de Jest, un framework de tests puissant pour JavaScript.

Écrire des tests unitaires
07:00

Créer des tests unitaires pour des fonctions et modules JavaScript.

Utiliser les opérateurs
07:00

Maîtriser les opérateurs de test expect dans Jest.

Simulations et Mocks
07:30

Utiliser des simulations (mocks) pour isoler les tests.

Mocking de librairies externes
07:30

Apprendre à mocker des librairies externes avec Jest.

Gestion du temps
07:00

Tester le code utilisant des fonctions de timing (setTimeout, setInterval).

Hooks de préparation et de nettoyage
07:00

Utiliser les hooks beforeEach, afterEach pour préparer et nettoyer les tests.

Gestion asynchrone
07:30

Tester du code asynchrone avec Jest.

Ordre d'exécution des tests
07:00

Comprendre l'ordre d'exécution des tests et des suites de tests.

Fonctionnalités spécifiques
07:30

Explorer les fonctionnalités spécifiques de Jest pour un développement amélioré.

Coverage des tests
07:00

Évaluer la couverture de code avec Jest.

Tests Fonctionnels et Intégration
7 vidéos • 52m 35s

Maîtriser les tests fonctionnels pour valider le comportement des applications.

Introduction aux tests fonctionnels
09:00

Comprendre le rôle des tests fonctionnels en développement.

Écrire des tests fonctionnels
07:30

Créer des tests fonctionnels pour valider le comportement des applications.

Tests d'intégration
07:30

Valider l'intégration des différents modules d'une application.

Tests fonctionnels asynchrones
07:00

Tester les interactions asynchrones dans les tests fonctionnels.

Organiser les tests fonctionnels
07:25

Structurer et organiser les tests pour une meilleure maintenabilité.

Analyser les résultats
07:00

Interpréter les résultats des tests pour améliorer le code.

Utiliser des mocks et stubs
07:10

Simuler les dépendances dans les tests fonctionnels.

Cypress pour les tests automatisés
7 vidéos • 49m

Découverte de Cypress pour les tests end-to-end automatisés.

Introduction à Cypress
05:00

Qu'est-ce que Cypress et pourquoi l'utiliser pour les tests automatisés ?

Tests automatisés
07:00

Créer des tests automatisés end-to-end avec Cypress.

Debugger les tests
07:30

Utiliser les outils de débogage pour résoudre les problèmes de tests.

Tests asynchrones
07:30

Gérer les interactions asynchrones dans les tests Cypress.

Stratégies d'organisation
07:00

Structurer et organiser vos tests end-to-end pour une meilleure maintenabilité.

Utiliser le Dashboard
07:30

Utiliser le Cypress Dashboard pour analyser et surveiller les tests.

Automatiser les tests
07:30

Intégrer Cypress dans un pipeline d'intégration continue.

Tests avec TypeScript
6 vidéos • 42m 30s

Tester des applications écrites en TypeScript avec Jest et Cypress.

Configurer Jest pour TypeScript
06:00

Adapter Jest pour tester du code TypeScript.

Écrire des tests unitaires TypeScript
07:00

Créer des tests unitaires pour des modules TypeScript.

Gestion des types dans les tests Jest
07:30

Gérer les types et les erreurs de typage dans les tests Jest.

Utiliser les types dans les tests Cypress
07:00

Appliquer les types TypeScript dans les tests end-to-end Cypress.

Debugger les tests TypeScript avec Jest
07:30

Utiliser les outils de débogage pour résoudre les problèmes de tests TypeScript.

Intégrer Cypress dans un projet TypeScript
07:30

Configurer Cypress pour tester des applications TypeScript.

Anciens Frameworks de Tests
6 vidéos • 39m 30s

Découverte des anciens frameworks de tests toujours en usage.

Introduction à Mocha
05:00

Découverte de Mocha, un framework de tests JavaScript classique.

Écrire des tests avec Mocha et Chai
07:00

Utiliser Mocha avec Chai pour écrire des tests en JavaScript.

Comparer Jest, Mocha et Jasmine
07:30

Comprendre les différences entre Jest, Mocha et Jasmine.

Introduction à Jasmine
05:00

Découverte de Jasmine, un autre framework de tests populaire.

Utiliser Jasmine pour les tests de legacy code
07:30

Tester du code hérité avec Jasmine.

Migrer des tests de Mocha/Jasmine vers Jest
07:30

Passer des tests existants sous Mocha/Jasmine vers Jest.

CI/CD avec GitHub
6 vidéos • 41m 30s

Intégration des tests dans un pipeline CI/CD pour une automatisation complète avec GitHub.

Introduction à l'automatisation des tests
05:00

Pourquoi automatiser les tests dans un pipeline CI/CD.

Tests en pipeline CI/CD
07:30

Exécuter des tests Jest automatiquement avec GitHub Actions.

Tests Cypress dans un pipeline
07:30

Intégrer Cypress dans un pipeline CI/CD avec GitHub pour des tests end-to-end automatisés.

Surveiller les tests CI/CD
07:00

Suivre et analyser les résultats des tests dans un pipeline GitHub CI/CD.

Maintenir un pipeline CI/CD de tests efficace
07:00

Optimiser les pipelines CI/CD pour des tests rapides et fiables.

Intégration de workflow complet
07:30

Lier les tests à d'autres étapes du workflow CI/CD.

Enseignant

image
Julien Moulin

Fondateur & Formateur Js/Ts

11 articles sur le blog
28 cours

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.

Tester c'est douter ? et la sécurité alors ?