Apprendre à tester vos applications Angular avec une stratégie pragmatique et efficace
Programme
Introduction au testing
- Pourquoi tester ?
- Les différents types de test
- Définition d’une unité de code
- Un exemple de test unitaire
Jest
- Avantages et inconvénients
- Mise en place de Jest
Test-Driven Development
- Origines et intérêt du Test-Driven Development
- Progressive TDD
- Exercice : Tester un service Angular avec l’approche Progressive TDD
- Exercice : Debugging avec Jest
- Astuces et bonnes pratiques
Timeboxed TDD & TCR
- Refactor vs. Rewrite: retour aux définitions
- Timeboxed TDD
- Limbo
- TCR : Test && Commit || Revert
Test Doubles
- Mocks vs Spies vs Stubs vs Fakes
- Classicists vs Mockists
- Choisir la bonne approche pour “overrider” l’injection de dépendance Angular
- Type-Safe testing
- Choosing the right way to override Angular dependency injection
- Exercice : Simuler le comportement d’une dépendance avec Mocks, Spies & Stubs
Component Testing
- Tester un composant
- Les différents types de testing de composant : Integration vs. Shallow vs. Isolated
- Interaction avec le DOM
- Exercice : Shallow testing
- Exercice : Integration testing
- Exercice : Testing des inputs / outputs
- Exercice : Interaction avec les formulaires
Angular CDK Test Harness
- L’histoire d’Angular CDK Test Harness
- Fonctionnement
- Exercice: Utilisation d’un test harness
- Exercice: Implémentation d’un test harness
Cypress Component Testing
- Brisons les frontières de l’”isolated testing” avec Cypress Component Testing
- Exercice : Isoler et tester un composant avec Cypress
- Exercice : Réutiliser le test harness
Visual Regression Testing
- Tester la présentation
- Détecter les régressions visuelles avec Cypress Component Testing & Percy
Définir une Stratégie de Testing
- Que faut-il tester et comment ?