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.

Python Unit-Test basisprincipes: Je introductie

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:

import unittest
from prijsberekening import get_verkaufspreis
Python Unit-Test basisprincipes: Je start

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.

Python Unit-Test basisprincipes: Jouw startpunt

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:

class PrijsberekeningTest(unittest.TestCase): def test_preis_ist_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Python Unit-Test Basisprincipes: Jouw instap

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:

def test_invalid_input(self): with self.assertRaises(TypeError): get_verkaufspreis("invalid")
Python Unit-Test basisprincipes: Jouw instap

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:

python -m unittest prijsberekening_test.py

In je IDE, zoals PyCharm, kun je de Run-configuratie gebruiken om de tests uit te voeren.

Python Unit-Test basisprincipes: Je introductie

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.

Python Unit-Test basisprincipes: Jouw instap

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.