Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie tot Testen in Python | Testing with unittest and pytest
Python Structureel Programmeren

Introductie tot Testen in Python

Veeg om het menu te tonen

Testen is een fundamentele praktijk binnen softwareontwikkeling, waarmee wordt gegarandeerd dat de code zich gedraagt zoals verwacht en betrouwbaar blijft naarmate deze evolueert. Geautomatiseerd testen maakt het mogelijk om je code automatisch te controleren, in plaats van te vertrouwen op handmatige controles die tijdrovend en foutgevoelig zijn. Door tests te schrijven, kun je snel detecteren wanneer wijzigingen bestaande functionaliteit breken en kun je met vertrouwen je code refactoren of uitbreiden.

Een van de populairste benaderingen van testen is test-driven development (TDD). Bij TDD begin je met het schrijven van een test die het gewenste gedrag of een functie beschrijft, voordat je de code schrijft om deze te implementeren. Dit proces stimuleert om vooraf goed na te denken over vereisten en randgevallen, wat leidt tot schonere en beter onderhoudbare code. Na het schrijven van de test implementeer je de minimale code die nodig is om de test te laten slagen, waarna je de code refactort voor duidelijkheid of efficiëntie en de tests opnieuw uitvoert om te controleren of alles blijft werken. Deze cyclus – een test schrijven, de code schrijven, refactoren – helpt om robuuste software stapsgewijs op te bouwen.

Testen is niet alleen bedoeld om bugs te vinden. Het dient ook als levende documentatie voor je code, waardoor het voor anderen (en jezelf in de toekomst) eenvoudiger wordt om te begrijpen hoe de code hoort te werken. Geautomatiseerde tests zijn vooral waardevol bij samenwerking in teams of bij grote projecten, omdat ze een vangnet bieden dat experimenteren en het met vertrouwen aanbrengen van codewijzigingen stimuleert.

12345
# A function to add two numbers def add(a, b): return a + b print(add(2, 3))
# A basic test case for the add function using unittest
import unittest

class TestAddFunction(unittest.TestCase):
    def test_add_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)

    def test_add_zero(self):
        self.assertEqual(add(0, 5), 5)

    def test_add_negative_numbers(self):
        self.assertEqual(add(-1, -1), -2)

De meegeleverde code definieert een testklasse genaamd TestAddFunction met behulp van Python's ingebouwde unittest-framework. Binnen deze klasse vind je drie testmethoden:

  • test_add_positive_numbers controleert of het aanroepen van add(2, 3) het resultaat 5 oplevert;
  • test_add_zero verifieert dat het optellen van nul en vijf met add(0, 5) het resultaat 5 geeft;
  • test_add_negative_numbers bevestigt dat het optellen van twee negatieve getallen, add(-1, -1), het resultaat -2 oplevert.

Elke testmethode gebruikt self.assertEqual om het daadwerkelijke resultaat van de functie add te vergelijken met de verwachte waarde. Als een test faalt, rapporteert het framework dit, waardoor fouten vroegtijdig worden opgespoord.

question mark

Wat is een belangrijk voordeel van geautomatiseerd testen bij Python-ontwikkeling?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 5. Hoofdstuk 1
some-alt