Test
Les tests vous aident à écrire et à maintenir un code Astro fonctionnel. Astro prend en charge de nombreux outils populaires pour les tests unitaires, les tests de composants et les tests de bout en bout, notamment Jest, Mocha, Jasmine, Cypress et Playwright. Vous pouvez même installer des bibliothèques de test spécifiques au framework, telles que React Testing Library, pour tester les composants de votre framework d’interface utilisateur.
Les frameworks de test vous permettent d’énoncer des assertions ou des attentes sur la manière dont votre code devrait se comporter dans des situations spécifiques, puis de les comparer au comportement réel de votre code actuel.
Tests unitaires et d’intégration
Titre de la section Tests unitaires et d’intégrationUn framework de test unitaire natif Vite avec support ESM, TypeScript et JSX propulsé par esbuild.
Utilisez l’aide Astro getViteConfig()
dans votre fichier de configuration vitest.config.ts
pour configurer Vitest avec les paramètres de votre projet Astro :
Par défaut, getViteConfig()
essaiera de charger un fichier de configuration Astro dans votre projet et de l’appliquer à l’environnement de test.
À partir d’Astro 4.8, si vous avez besoin de personnaliser la configuration Astro pour vos tests, passez un second argument à getViteConfig()
:
Voir le modèle de démarrage Astro + Vitest sur GitHub.
Vitest et l’API Conteneur
Titre de la section Vitest et l’API Conteneur
Ajouté à la version :
astro@4.9.0
Vous pouvez tester nativement les composants Astro en utilisant l’API container (EN). Tout d’abord, configurez vitest
comme expliqué ci-dessus, puis créez un fichier .test.js
pour tester votre composant :
Tests de bout en bout
Titre de la section Tests de bout en boutPlaywright
Titre de la section PlaywrightPlaywright est un outil de test de bout en bout pour les applications web modernes. Utilisez l’API Playwright en JavaScript ou TypeScript pour tester votre code Astro sur tous les moteurs de rendu modernes, notamment Chromium, WebKit et Firefox.
Installation
Titre de la section InstallationVous pouvez démarrer et exécuter vos tests à l’aide de l’extension VS Code.
Vous pouvez également installer Playwright dans votre projet Astro à l’aide du gestionnaire de paquets de votre choix. Suivez les étapes CLI pour choisir JavaScript/TypeScript, nommer votre dossier de test et ajoutez un flux de travail GitHub Actions (facultatif).
Créez votre premier test Playwright
Titre de la section Créez votre premier test Playwright-
Choisissez une page à tester. Cet exemple testera la page d’exemple
index.astro
ci-dessous. -
Créez un nouveau dossier et ajoutez le fichier de test suivant dans
src/test
. Copiez et collez le test suivant dans le fichier pour vérifier que les méta-informations de la page sont correctes. Mettez à jour la valeur de la page<title>
pour qu’elle corresponde à la page que vous testez.Vous pouvez définir
"baseURL": "http://localhost:4321"
dans le fichier de configurationplaywright.config.ts
pour utiliserpage.goto("/")
au lieu depage.goto("http://localhost:4321/")
pour une URL plus pratique.
Exécution des tests Playwright
Titre de la section Exécution des tests PlaywrightVous pouvez exécuter un seul test ou plusieurs tests à la fois, en testant un ou plusieurs navigateurs. Par défaut, les résultats de vos tests s’affichent dans le terminal. En option, vous pouvez ouvrir le rapporteur de test HTML pour afficher un rapport complet et filtrer les résultats des tests.
-
Pour exécuter le test de l’exemple précédent en ligne de commande, utilisez la commande
test
. Si vous le souhaitez, vous pouvez inclure le nom du fichier pour n’exécuter qu’un seul test : -
Pour voir le rapport de test HTML complet, ouvrez-le à l’aide de la commande suivante :
Exécutez vos tests par rapport à votre code de production pour qu’ils ressemblent davantage à votre site réel et déployé.
Avancé : Lancement d’un serveur web de développement pendant les tests
Titre de la section Avancé : Lancement d’un serveur web de développement pendant les testsVous pouvez également demander à Playwright de démarrer votre serveur lorsque vous exécutez votre script de test en utilisant l’option webServer
dans le fichier de configuration de Playwright.
Voici un exemple de la configuration et des commandes nécessaires à l’utilisation de npm :
-
Ajoutez un script de test à votre fichier
package.json
à la racine du projet, comme"test:e2e": "playwright test"
. -
Dans
playwright.config.ts
, ajoutez l’objetwebServer
et mettez à jour la valeur de la commande ànpm run preview
. -
Lancez
npm run build
, puisnpm run test:e2e
pour lancer les tests Playwright.
Vous trouverez plus d’informations sur Playwright dans les liens ci-dessous :
Cypress
Titre de la section CypressCypress est un outil de test frontal conçu pour le web moderne. Cypress vous permet d’écrire des tests de bout en bout pour votre site Astro.
Installation
Titre de la section InstallationVous pouvez installer Cypress en utilisant le gestionnaire de paquets de votre choix.
Cela installera Cypress localement en tant que dépendance pour votre projet.
Configuration
Titre de la section ConfigurationÀ la racine de votre projet, créez un fichier cypress.config.js
avec le contenu suivant :
Créer votre premier test Cypress
Titre de la section Créer votre premier test Cypress-
Choisissez une page à tester. Cet exemple testera la page d’exemple
index.astro
ci-dessous. -
Créez un fichier
index.cy.js
dans le dossiercypress/e2e
. Utilisez le test suivant dans le fichier pour vérifier que le titre et l’en-tête de la page sont corrects.Vous pouvez définir
"baseUrl": "http://localhost:4321"
dans le fichier de configurationcypress.config.js
pour utilisercy.visit("/")
au lieu decy.visit("http://localhost:4321/")
pour une URL plus pratique.
Exécuter vos tests Cypress
Titre de la section Exécuter vos tests CypressCypress peut être exécuté à partir de la ligne de commande ou de l’application Cypress. L’application fournit une interface visuelle pour l’exécution et le débogage de vos tests.
Tout d’abord, démarrez le serveur de développement afin que Cypress puisse accéder à votre site en ligne.
Pour exécuter notre test de l’exemple précédent en utilisant la ligne de commande, exécutez la commande suivante :
Pour exécuter le test à l’aide de l’application Cypress, vous pouvez également exécuter la commande suivante :
Une fois l’application Cypress lancée, choisissez E2E Testing, puis sélectionnez le navigateur à utiliser pour exécuter les tests.
Une fois l’exécution du test terminée, vous devriez voir des coches vertes dans la sortie confirmant que votre test a réussi :
Pour vérifier que votre test fonctionne vraiment, vous pouvez modifier la ligne suivante dans le fichier index.astro
:
Exécutez à nouveau le test. Vous devriez voir un “x” rouge dans la sortie confirmant que votre test a échoué.
Prochaines étapes
Titre de la section Prochaines étapesVous trouverez plus d’informations sur Cypress dans les liens ci-dessous :
NightwatchJS
Titre de la section NightwatchJSNightwatch.js est un framework d’automatisation des tests avec un ensemble puissant d’outils pour écrire, exécuter et déboguer vos tests sur le web avec un support intégré pour tous les principaux navigateurs et leurs équivalents mobiles, ainsi que pour les applications mobiles natives.
Installation
Titre de la section InstallationVous pouvez installer NightwatchJS dans votre projet Astro en utilisant le gestionnaire de paquets de votre choix. Suivez les étapes CLI pour choisir JavaScript/TypeScript, nommer votre dossier de test et choisir d’inclure ou non les tests de composants et les tests sur les navigateurs mobiles.
Créez votre premier test Nightwatch
Titre de la section Créez votre premier test Nightwatch-
Choisissez une page à tester. Cet exemple testera la page d’exemple
index.astro
ci-dessous. -
Créez un nouveau dossier
src/test/
et ajoutez le fichier de test suivant :Vous pouvez définir
"baseURL": "http://localhost:4321"
dans le fichier de configurationnightwatch.conf.js
pour utiliserbrowser.navigateTo("/")
au lieu debrowser.navigateTo("http://localhost:4321/")
pour une URL plus pratique..
Exécution des tests NightwatchJS
Titre de la section Exécution des tests NightwatchJSVous pouvez exécuter un seul test ou plusieurs tests à la fois, en testant un ou plusieurs navigateurs. Par défaut, les résultats de vos tests seront affichés dans le terminal. En option, vous pouvez ouvrir le HTML Test Reporter pour afficher un rapport complet et filtrer les résultats des tests.
Vous pouvez exécuter les tests avec l’extension VSCode NightwatchJS ou en utilisant les étapes CLI ci-dessous :
-
Pour exécuter tous les tests, entrez la commande suivante dans le terminal. Si vous le souhaitez, vous pouvez inclure le nom du fichier pour n’exécuter qu’un seul test :
De plus, vous pouvez exécuter les tests avec un navigateur spécifique en utilisant l’argument CLI
--environment
ou-e
. Si vous n’avez pas installé le navigateur approprié, Nightwatch essaiera de le configurer pour vous en utilisant [Selenium Manager] (https://www.selenium.dev/blog/2022/introducing-selenium-manager/) : -
Pour voir le rapport de test HTML complet, ouvrez-le à l’aide de la commande suivante :
Exécutez vos tests par rapport à votre code de production pour qu’ils ressemblent davantage à votre site réel, déployé.
Vous trouverez plus d’informations sur NightwatchJS dans les liens ci-dessous :
Learn