Zig Academy · Les

Assertions met std.testing

expect, expectEqual en soortgelijke functies

Les 2 van 413 stappen

Assertions met std.testing is een gratis Zig Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Zig Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Zig Academy bevat in totaal 4 lessen.

De naamruimte testing

De hulpfuncties voor controles van Zig staan in std.testing. Haal deze binnen onder een korte naam, zodat elke controle in je testblokken overzichtelijk blijft.

const testing = std.testing;

expect voor booleaanse waarden

De eenvoudigste hulpfunctie is expect. Deze neemt één booleaanse waarde aan en laat de test mislukken wanneer die voorwaarde onwaar is.

try testing.expect(value > 0);

Hulpfuncties geven fouten terug

Elke hulpfunctie voor testen geeft bij een mislukking een fout terug, dus zet je er altijd try voor. Daardoor stopt de test en wordt de mislukking gemeld.

expectEqual voor waarden

Gebruik expectEqual om twee waarden te vergelijken. Deze controleert op gelijkheid en toont bij een mislukking zowel de verwachte als de werkelijke waarde.

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

De verwachte waarde komt eerst

Bij expectEqual is het eerste argument de verwachte waarde en het tweede wat je code heeft geproduceerd. De volgorde bepaalt de foutmelding.

try testing.expectEqual(42, result);

Slices vergelijken

Twee slices zijn gelijk wanneer hun elementen overeenkomen, niet wanneer hun pointers gelijk zijn. Gebruik expectEqualSlices en geef het elementtype op.

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

Tekenreeksen vergelijken

Voor tekst vergelijkt expectEqualStrings twee byte-slices en toont het een leesbaar verschil wanneer ze niet overeenkomen. Dat is ideaal voor uitvoercontroles.

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

Een fout controleren

Soms hoort een aanroep te mislukken. Wikkel deze in expectError om te controleren dat de aanroep een specifieke fout en geen waarde teruggeeft.

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

Kommagetallen bij benadering vergelijken

Kommagetallen zijn zelden exact gelijk. Gebruik expectApproxEqAbs met een kleine tolerantie, zodat kleine afrondingsverschillen je test niet laten mislukken.

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

De uitvoer van een mislukking lezen

Wanneer een controle mislukt, toont Zig de verwachte en werkelijke waarden direct in het rapport. Dat verschil wijst meestal rechtstreeks naar de fout.

Kies de juiste hulpfunctie

Stem de hulpfunctie af op de gegevens: expectEqual voor scalaire waarden, slice- en tekenreeksfuncties voor reeksen en expectError voor het foutpad.

Snelle controle

Je moet in een test controleren of twee tekstwaarden exact gelijk zijn. Welke hulpfunctie past daar het best bij?

Samenvatting

Je hebt de gereedschappen van std.testing geleerd: expect, expectEqual, controles voor slices en tekenreeksen en expectError. Voor elk daarvan is try nodig. ✅

Gratis beginnen

Leer Zig met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Assertions met std.testing” gratis?

Ja — de volledige tekst van “Assertions met std.testing” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Zig Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Zig Academy bevat in totaal 4 lessen.

Wat leer ik in “Assertions met std.testing”?

expect, expectEqual en soortgelijke functies Je oefent met Zig Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Zig Academy te beginnen?

Ervaring vooraf is niet nodig. Zig Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Assertions met std.testing”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Zig Academy?

Ja. Elke les over Zig Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. test-blokken schrijven
  2. Assertions met std.testing
  3. De testing allocator detecteert lekken
  4. Tests uitvoeren en filteren
← Terug naar Zig Academy