Bienvenue dans Learn Testing !

Ce cours est une introduction et une exploration des tests pour le Web.

Ce cours aborde les sujets suivants:

  • Principes de base des tests
  • Tests automatisés et manuels
  • Où et comment exécuter vos tests
  • Bonnes pratiques
  • Philosophie des tests, y compris ce qu'il faut tester, qui est responsable et comment envisager de tester un moyen pour atteindre une fin, et non comme un objectif lui-même.

Le cours comprend également un exemple de code concis et pratique à utiliser pour apprendre.

Ce cours aborde JavaScript et le modèle de document sur l'interface, ainsi que les tests de bibliothèque sur le backend, qui s'exécutent dans un environnement tel que Node.js. Il ne suppose aucune expérience en test, mais vous aurez besoin d'une certaine expérience de JavaScript et de Node.js ou d'un outil similaire. Il convient aussi bien aux développeurs qu'à ceux chevronnés.

Étant donné que la plupart des frameworks et outils de test partagent un langage commun, Learn Testing adopte une approche générale pour les tests. Pour plus de précision, nous utiliserons Vitest, un framework de test de plus en plus populaire, et verrons comment tester les composants Web écrits à l'aide de React ou Lit. Pour en savoir plus sur ce choix, consultez l'annexe.

Vous pouvez suivre ce cours du début à la fin, mais vous pouvez également l'utiliser comme référence pour des sujets spécifiques. Le cas échéant, le cours renvoie vers des ressources.

Vous y découvrirez:

Premiers pas avec les tests

En quoi consistent les tests ?

Ceci est une introduction générale aux tests, qui comprend des exemples pratiques de tests en JavaScript. Il comprend également une introduction à l'échelle de chaque test.

Emplacement d'exécution des tests

Les tests peuvent vous aider à être productif et à écrire des logiciels efficacement. Bien qu'il soit possible de les exécuter manuellement à l'aide d'une ligne de commande, vous pouvez également les exécuter dans le cadre d'un processus ou d'un système de compilation automatisé.

Environnement de test

Les outils d'exécution tels que Node sont destinés au code à usage général. Le code de test du navigateur peut être exécuté dans un environnement émulé ou à l'aide d'un framework conçu pour tester les navigateurs.

Types de tests automatisés

Découvrez les catégorisations courantes des types de test, qui correspondent principalement à leur échelle. Il est important de noter que les types de tests n'ont pas de définition stricte et peuvent changer en fonction de vos besoins.

Éléments à tester et approche

Il peut être difficile d'identifier les parties les plus importantes de votre codebase auxquelles appliquer des tests rigoureux. Ce module présente le concept de test comme une fin en soi et explique comment évaluer votre code à des fins de test.

Les tests de composants en pratique

Dans ce module pratique, vous allez apprendre à tester un composant React pas idéal. Vitest est utilisé à travers trois exemples distincts: l'interception du trafic réseau effectué avec fetch(), la simulation d'une dépendance externe et l'utilisation de Context de React pour fournir un bit de code personnalisé uniquement pour le test.

Analyse statique

L'utilisation d'outils tels que TypeScript et ESLint, bien que les approches de test ne soient pas bien établies, peut fournir un type de vérification automatisée. Ce module décrit ces outils alternatifs.

Assertions et autres primitives

Outils du métier

Découvrez les primitives communes à la plupart des bibliothèques ou frameworks de test, y compris test() et assert, qui seront les piliers de chaque test que vous écrivez en JavaScript.

Bientôt disponible

  • Éviter les pièges de test courants
  • Doubles de test
  • Tester les bibliothèques et les utilitaires
  • Choisir un framework de test

Le reste de cette section contient d'autres pages sur les frameworks et bibliothèques de test, la façon de les utiliser, et la manière de choisir lequel et quels autres outils utiliser.

Prochainement: Tests axés sur les problèmes

Vous apprendrez des modèles pour aborder un certain nombre de défis courants liés aux tests Web.

Prochainement: les tests automatisés en pratique

Cette section pratique montre comment tester un site d'e-commerce créé avec Next.js, y compris du code que vous pouvez consulter et apprendre par vous-même. Vous apprendrez à tester ses composants, à utiliser ses services externes (y compris le paiement) à des fins de test, et à créer des tests de bout en bout pour un site disposant d'une page de connexion facultative.

Prochainement: La philosophie des tests

Les tests peuvent représenter un défi d'ingénierie, mais savoir quoi tester, qui est responsable et les bonnes pratiques peut également représenter un défi pour une équipe de développement.

Prochainement: Écrire du code testable

Ce cours fournit des conseils sur les tests de code tel qu'il existe, mais votre équipe peut adopter différents modèles pour faciliter le test de votre code. Cette section aborde certaines approches.