Unit-Tests zijn een krachtig hulpmiddel voor ontwikkelaars om de kwaliteit van hun code te waarborgen. Ze stellen je in staat om functies geïsoleerd te testen en ervoor te zorgen dat ze werken zoals bedoeld. In deze gids laat ik je zien hoe je je eerste Unit-Test in Python schrijft. Je leert niet alleen de basisprincipes van Unit-Testing, maar ook hoe je je tests efficiënt kunt opbouwen.
Belangrijkste bevindingen
- Unit-Tests helpen om fouten vroegtijdig te identificeren en ervoor te zorgen dat je functies werken zoals bedoeld.
- De Python-bibliotheek unittest biedt een eenvoudige manier om tests te implementeren.
- Effectieve tests omvatten zowel positieve als negatieve scenario's en controleren de datatypes van de teruggegeven waarden.
Stap-voor-stap handleiding
Stap 1: Voorbereiding van je project
Allereerst heb je een Python-bestand nodig waar je functie is gedefinieerd. In ons voorbeeld noemen we het bestand prijsberekening.py. Hier definieer je een functie get_verkaufspreis die de inkoopprijs neemt en een marge optelt.

Stap 2: Maak een bestand voor je Unit-Tests
Maak daarna een nieuw bestand aan dat de tests voor deze functie zal bevatten. Laten we dit bestand prijsberekening_test.py noemen. Hier ga je met het unittest-module werken.
Om het framework te gebruiken, importeer je het aan het begin van je bestand:

Stap 3: Definieer een testklasse
Een testklasse moet erven van unittest.TestCase. Dit stelt je in staat om alle tests op een gestructureerde manier te organiseren. Noem de klasse om in PrijsberekeningTest zodat duidelijk is wat getest wordt.

Stap 4: Schrijf je tests
Nu is het tijd om echte tests te schrijven. Begin met een test die controleert of de teruggave van get_verkaufspreis het verwachte type (float) heeft:

Stap 5: Test ongeldige invoer
Het is ook belangrijk om ongeldige invoer te testen. Voeg een test toe die controleert of de functie een uitzondering oproept bij ongeldige invoer, zoals None of een string:

Stap 6: Tests uitvoeren
Om je tests uit te voeren, kun je dit doen via de terminal of direct in je IDE. Als je de terminal gebruikt, voer dan het volgende uit:
In je IDE, zoals PyCharm, kun je de Run-configuratie gebruiken om de tests uit te voeren.

Stap 7: Resultaten controleren
Als je de tests succesvol uitvoert, ontvang je een output die aangeeft of alle tests zijn geslaagd. Een groene uitkomst betekent dat je code functioneert zoals bedoeld.
Stap 8: Tests uitbreiden
Bovendien kun je naast de basis tests nog meer relevante scenario's toevoegen om de betrouwbaarheid van de code te verhogen. Vergeet niet om zowel positieve als negatieve gevallen te testen om ervoor te zorgen dat je logica in alle situaties werkt.

Samenvatting - Eerste Unit-Test met Python: Basisprincipes en implementatie
Het schrijven van Unit-Tests is een belangrijke vaardigheid die je helpt om je code betrouwbaar te maken. In deze gids heb je geleerd hoe je je eerste Unit-Test in Python schrijft, van de definitie van de functie tot aan de uitvoering en controle van de resultaten. Door grondige tests wordt de onderhoudbaarheid van je code aanzienlijk verbeterd en worden problemen vroegtijdig geïdentificeerd.
Veelgestelde vragen
Hoe maak ik een Unit-Test in Python?Om een Unit-Test in Python te maken, maak je een testklasse die van unittest.TestCase erft en schrijf je tests als methoden van deze klasse.
Waarom zou ik Unit-Tests moeten schrijven?Unit-Tests helpen fouten vroegtijdig te identificeren en zorgen ervoor dat je functies werken zoals bedoeld.
Hoe voer ik Unit-Tests uit?Je kunt Unit-Tests via de terminal met python -m unittest [bestandsnaam] of direct in je IDE uitvoeren.
Wat zijn goede praktijken voor Unit-Tests?Een goede praktijk omvat zowel positieve als negatieve testszenario's, evenals de controle van datatypes. Ook de regelmaat van uitvoering is belangrijk om veranderingen in de code onmiddellijk te controleren.