0Pricing
Dart Academy · Leçon

Objets simulés, doublures et couverture

Isoler les unités et mesurer ce que vous testez

Objets simulés, doublures et couverture est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 4 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 Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Isoler l'unité

Un test unitaire doit vérifier un seul élément de manière isolée. Les bases de données et réseaux réels rendent les tests lents et instables ; nous les remplaçons donc. 🔌

Doubles de test

Un double de test remplace une dépendance réelle. Les mocks, les faux objets et les bouchons sont les formes courantes que vous utiliserez.

Qu'est-ce qu'un faux objet ?

Un faux objet possède une implémentation fonctionnelle mais simplifiée, comme une liste en mémoire qui remplace une véritable base de données.

class FakeRepo implements Repo {
  final _items = <Item>[];
}

Qu'est-ce qu'un mock&nbsp;?

Un mock enregistre la manière dont il a été appelé afin que vous puissiez vérifier les interactions, et pas seulement les valeurs finales.

Le paquet mockito

Le paquet mockito génère des mocks pour vous. Annotez le type souhaité et exécutez build_runner pour le créer.

@GenerateMocks([Repo])
import 'repo_test.mocks.dart';

Créer des bouchons avec when

Utilisez when pour programmer un mock : lorsque cette méthode est appelée, renvoyer cette valeur, afin que le comportement soit prévisible.

when(repo.find(1))
  .thenReturn(Item('a'));

Vérifier les appels

Utilisez verify pour vérifier qu'une méthode a été appelée, ainsi que le nombre d'appels, et prouver que votre code a correctement communiqué avec sa dépendance.

verify(repo.save(any)).called(1);

Créer des bouchons asynchrones

Pour les méthodes qui renvoient un Future, programmez-les avec thenAnswer afin que le mock puisse renvoyer un résultat asynchrone.

when(api.load())
  .thenAnswer((_) async => 'ok');

Mock ou faux objet&nbsp;?

Choisissez un faux objet lorsque vous avez besoin d'un comportement réaliste, et un mock lorsque vous vous intéressez aux appels effectués.

Ce que signifie la couverture

La couverture mesure les lignes réellement exécutées par vos tests. Une couverture élevée suggère un travail approfondi, mais ne garantit jamais la correction.

Générer la couverture

Exécutez les tests en recueillant la couverture, puis transformez les données en un rapport que vous pouvez lire ou envoyer à un outil.

dart test --coverage=coverage

Vérification rapide

Quel double enregistre les appels afin que vous puissiez les vérifier ?

Récapitulatif

Vous avez isolé les unités avec des faux objets et des mocks, créé des bouchons avec when, vérifié les appels et mesuré la couverture. Des tests rapides, ciblés et fiables. 🎯

Questions Fréquemment Posées

La leçon « Objets simulés, doublures et couverture » est-elle gratuite ?

Oui — le texte complet de « Objets simulés, doublures et couverture » 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 Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Objets simulés, doublures et couverture » ?

Isoler les unités et mesurer ce que vous testez Tu pratiques Dart 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 Dart Academy ?

Aucune expérience préalable n'est requise. Dart 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 4 sur 4.

Combien de temps prend la leçon « Objets simulés, doublures et couverture » ?

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 Dart Academy ?

Oui. Chaque leçon Dart 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

  1. Votre premier test et expect
  2. group, setUp et tearDown
  3. Tester le code asynchrone et les flux
  4. Objets simulés, doublures et couverture
← Retour à Dart Academy