Zig Academy · Leçon

Assertions avec std.testing

Découvrez expect, expectEqual et leurs équivalents.

Leçon 2 sur 413 étapes

Assertions avec std.testing est une leçon Zig 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 Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

L’espace de noms testing

Les fonctions d’assertion de Zig se trouvent dans std.testing. Donnez-lui un nom court afin que chaque vérification reste claire dans vos blocs de test.

const testing = std.testing;

expect pour les booléens

La fonction d’aide la plus simple est expect. Elle accepte un booléen et fait échouer le test lorsque cette condition est fausse.

try testing.expect(value > 0);

Les fonctions d’aide renvoient des erreurs

Toute fonction d’aide aux tests renvoie une erreur en cas d’échec ; vous devez donc toujours la préfixer par try. C’est ce qui permet au test de s’arrêter et de signaler le problème.

expectEqual pour les valeurs

Pour comparer deux valeurs, utilisez expectEqual. Cette fonction vérifie leur égalité et, en cas d’échec, affiche la valeur attendue ainsi que la valeur réelle.

try testing.expectEqual(5, add(2, 3));

La valeur attendue vient en premier

Avec expectEqual, le premier argument est la valeur attendue et le second est celle produite par votre code. L’ordre détermine le contenu du message d’échec.

try testing.expectEqual(42, result);

Comparer des tranches

Deux tranches sont égales lorsque leurs éléments correspondent, et non lorsqu’elles possèdent les mêmes pointeurs. Utilisez expectEqualSlices en lui indiquant le type des éléments.

try testing.expectEqualSlices(u8, "hi", out);

Comparer des chaînes

Pour le texte, expectEqualStrings compare deux tranches d’octets et affiche une différence lisible lorsqu’elles ne correspondent pas, ce qui convient parfaitement à la vérification d’une sortie.

try testing.expectEqualStrings("ok", msg);

Vérifier une erreur

Parfois, un appel doit échouer. Encadrez-le avec expectError pour vérifier qu’il renvoie une erreur précise et non une valeur.

try testing.expectError(error.Bad, parse("x"));

Nombres flottants approximatifs

Les nombres flottants correspondent rarement exactement. Utilisez expectApproxEqAbs avec une petite tolérance afin que d’infimes différences d’arrondi ne fassent pas échouer votre test.

try testing.expectApproxEqAbs(1.0, x, 0.001);

Lire le résultat de l’échec

Lorsqu’une assertion échoue, Zig affiche les valeurs attendue et réelle directement dans le rapport. Cette différence indique généralement précisément où se trouve le bogue.

Choisir la bonne fonction d’aide

Adaptez la fonction d’aide aux données : expectEqual pour les valeurs scalaires, les fonctions d’aide pour les tranches et les chaînes pour les séquences, et expectError pour le chemin d’échec.

Vérification rapide

Vous devez vérifier que deux valeurs textuelles sont exactement égales dans un test. Quelle fonction d’aide convient le mieux ?

Récapitulatif

Vous avez découvert l’outillage std.testing : expect, expectEqual, les vérifications de tranches et de chaînes, ainsi que expectError. Chacune de ces fonctions doit être précédée de try. ✅

Gratuit pour commencer

Apprends Zig avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Assertions avec std.testing » est-elle gratuite ?

Oui — le texte complet de « Assertions avec std.testing » 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 Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Assertions avec std.testing » ?

Découvrez expect, expectEqual et leurs équivalents. Tu pratiques Zig 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 Zig Academy ?

Aucune expérience préalable n'est requise. Zig 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 « Assertions avec std.testing » ?

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

Oui. Chaque leçon Zig 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. Écrire des blocs test
  2. Assertions avec std.testing
  3. L'allocateur de test détecte les fuites
  4. Exécuter et filtrer les tests
← Retour à Zig Academy