Intern
Wat is een unittests?
sobes.tech AI
Antwoord van AI
Unit testing is een methode van softwaretesten waarbij de kleinste, minimale delen van de code (eenheden, meestal functies, methoden of klassen) worden geïsoleerd en gecontroleerd op hun verwachte gedrag.
Doelen van unit testing:
- Logica verificatie: Controleren of een specifiek stuk code correct werkt in isolatie.
- Vroege foutdetectie: Het identificeren van fouten tijdens de ontwikkelfase, wanneer het corrigeren het goedkoopst is.
- Vermindering refactoring: Zekerstellen dat wijzigingen in de code de bestaande functionaliteit niet breken.
- Documentatie: Unit tests kunnen dienen als voorbeeld van het gebruik van de code.
- Verbetering van de code-ontwerp: Schrijven van testbare code leidt vaak tot een meer modulaire en begrijpelijke structuur.
Belangrijke kenmerken van unit tests:
- Automatisering: Worden automatisch uitgevoerd door testframeworks.
- Isolatie: Testen van een enkele eenheid, met minimale afhankelijkheden van externe systemen (databases, netwerk, bestandssysteem), vaak met mocks of stubs.
- Snelheid: Ze moeten heel snel uitgevoerd kunnen worden, zodat ze vaak kunnen worden uitgevoerd (bijvoorbeeld bij elke codewijziging of vóór een commit).
- Deterministisch: Het resultaat van de test moet bij elke uitvoering hetzelfde zijn, als de geteste code niet is gewijzigd.
Voorbeeld in Python met pytest:
def add(a, b):
"""Voegt twee getallen samen."""
return a + b
def test_add_positive_numbers():
# Test het optellen van twee positieve getallen
assert add(2, 3) == 5
def test_add_negative_numbers():
# Test het optellen van twee negatieve getallen
assert add(-1, -5) == -6
def test_add_zero():
# Test het optellen met nul
assert add(0, 7) == 7