@testing-library/svelte : render et fireEvent
Affichez les composants dans les tests, interrogez le DOM et simulez les interactions utilisateur.
@testing-library/svelte : render et fireEvent est une leçon Sveltejs Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Sveltejs Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Sveltejs Academy comprend 4 leçons au total.
Testing Library
@testing-library/svelte fournit des utilitaires pour afficher des composants et interagir avec eux comme le ferait un utilisateur.
Rendu
Montez un composant dans un DOM virtuel.
import { render } from "@testing-library/svelte";
const { getByText } = render(MyComp, { props: { name: "Ada" } });Méthodes d'interrogation
Utilisez getByText, getByRole et getByLabelText pour trouver des éléments comme le ferait un utilisateur.
fireEvent
Simulez les interactions de l'utilisateur : click, input, submit.
import { fireEvent } from "@testing-library/svelte";
await fireEvent.click(getByRole("button"));Bibliothèque user-event
Pour des interactions plus réalistes (saisie au clavier, navigation au clavier), utilisez @testing-library/user-event.
Mises à jour asynchrones
Après une interaction, attendez les microtâches pour que les mises à jour de Svelte soient appliquées.
Assertions
Utilisez expect avec des comparateurs de jest-dom comme toBeInTheDocument et toHaveAttribute.
expect(getByText("Hello, Ada!")).toBeInTheDocument();Propriétés des composants
Transmettez les propriétés comme second argument à render.
Événements des composants
Testez les répartiteurs d'événements en transmettant un espion comme propriété de rappel.
Instantané du DOM
Prenez un instantané du HTML rendu pour détecter les régressions.
Bonne pratique
Effectuez les tests du point de vue de l'utilisateur. Évitez de tester directement l'état interne.
Vérification rapide
Que fait render ?
Récapitulatif
Utilisez render, fireEvent et jest-dom pour tester les composants Svelte comme lors de véritables interactions utilisateur.
Questions Fréquemment Posées
La leçon « @testing-library/svelte : render et fireEvent » est-elle gratuite ?
Oui — le texte complet de « @testing-library/svelte : render et fireEvent » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Sveltejs Academy, passe à CoddyKit PRO. Le cours Sveltejs Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « @testing-library/svelte : render et fireEvent » ?
Affichez les composants dans les tests, interrogez le DOM et simulez les interactions utilisateur. Tu pratiques Sveltejs Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Sveltejs Academy ?
Aucune expérience préalable n'est requise. Sveltejs Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « @testing-library/svelte : render et fireEvent » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Sveltejs Academy ?
Oui. Chaque leçon Sveltejs Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Configurer Vitest pour les projets Svelte
- @testing-library/svelte : render et fireEvent
- Tester les magasins et la réactivité
- Simuler des modules et Fetch