Wat is Unit Testing? - Uitleg & Betekenis
Leer wat unit testing is, hoe je individuele componenten test met Jest, Vitest of pytest, en waarom testdekking essentieel is voor betrouwbare software.
Definitie
Unit testing is het testen van de kleinste eenheden van code, zoals individuele functies, methoden of klassen, in isolatie van de rest van het systeem. Het doel is te verifiëren dat elke eenheid correct werkt volgens zijn specificatie.
Technische uitleg
Unit tests zijn de basis van de testing pyramid en worden het vaakst uitgevoerd. Ze moeten snel, geïsoleerd, herhaalbaar en zelfvaliderend zijn (FIRST-principes: Fast, Isolated, Repeatable, Self-validating, Timely). Populaire test-frameworks zijn Jest en Vitest voor JavaScript/TypeScript, pytest voor Python en JUnit voor Java. Mocking vervangt externe afhankelijkheden (databases, API's, filesystemen) door gecontroleerde simulaties zodat tests alleen de te testen unit beoordelen. Spies monitoren of functies correct worden aangeroepen. Test fixtures bieden vooraf gedefinieerde testdata. Testdekking (coverage) meet welk percentage van de code door tests wordt bereikt: line coverage, branch coverage en function coverage. Een coverage van 80% wordt vaak als goed beschouwd, maar kwalitatieve tests zijn belangrijker dan kwantitatieve dekking. Parameterized tests draaien dezelfde test met verschillende inputwaarden. Snapshot testing vergelijkt output met eerder vastgelegde referenties. Property-based testing genereert willekeurige inputs om edge cases te ontdekken.
Hoe MG Software dit toepast
MG Software schrijft unit tests voor alle business-kritieke code. We gebruiken Vitest voor onze TypeScript/React-projecten en pytest voor Python-services. Onze CI/CD-pipeline verplicht een minimale testdekking en blokkeert merges wanneer tests falen. We combineren unit tests met integratietests en end-to-end tests voor volledige dekking van het systeem.
Praktische voorbeelden
- Een unit test die verifieert dat een prijsberekeningsfunctie correcte resultaten geeft voor reguliere prijzen, kortingen, BTW en randgevallen zoals nulwaarden of negatieve bedragen.
- Een geïsoleerde test van een authenticatieservice die een mock database gebruikt, zodat de test snel draait en niet afhankelijk is van een echte databaseverbinding.
- Een CI/CD-pipeline die 500 unit tests uitvoert in onder de 30 seconden bij elke commit, waardoor bugs direct worden gesignaleerd voordat code wordt gemerged.
Gerelateerde begrippen
Veelgestelde vragen
Klaar om te starten?
Neem contact met ons op voor een vrijblijvend gesprek over uw project.
Neem contact opGerelateerde artikelen
Wat is een API? - Uitleg & Betekenis
Leer wat een API (Application Programming Interface) is, hoe het werkt en waarom APIs essentieel zijn voor moderne softwareontwikkeling en integraties.
Wat is SaaS? - Uitleg & Betekenis
Ontdek wat SaaS (Software as a Service) betekent, hoe het werkt en waarom steeds meer bedrijven kiezen voor cloud-gebaseerde softwareoplossingen.
Wat is Cloud Computing? - Uitleg & Betekenis
Leer wat cloud computing is, welke vormen er bestaan (IaaS, PaaS, SaaS) en hoe bedrijven profiteren van het verplaatsen van IT naar de cloud.
Softwareontwikkeling in Amsterdam
Op zoek naar een softwareontwikkelaar in Amsterdam? MG Software bouwt maatwerk webapplicaties, SaaS-platformen en API-integraties voor Amsterdamse bedrijven.