Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Pytest-Framework: Opzetten en Uitvoeren van Geautomatiseerde Tests | Pytest-Framework Beheersen
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Structureel Programmeren

bookPytest-Framework: Opzetten en Uitvoeren van Geautomatiseerde Tests

Installatie

Allereerst moet Pytest worden geïnstalleerd. Dit proces is eenvoudig dankzij de pakketbeheerder van Python, pip. Open de opdrachtregel of terminal en voer het volgende commando uit:

pip install pytest

Het is altijd beter om dit in de virtuele omgeving van het project te doen.

Uitleg van de Syntax

Een van de redenen waarom Pytest zo populair is in de Python-gemeenschap, is de eenvoudige en gemakkelijk leesbare syntax. In tegenstelling tot sommige andere testframeworks, maakt Pytest het mogelijk om testcode op een zeer leesbare manier te schrijven. Een kort overzicht:

  • Testbestanden: pytest herkent bestanden die beginnen met test_ of eindigen op _test.py;
  • Testfuncties: functies die beginnen met test_ in deze bestanden worden automatisch door pytest als testfuncties herkend;
  • Assertions: gebruik de ingebouwde assert-instructie van Python om te controleren of aan specifieke voorwaarden is voldaan.

Codevoorbeelden

Laten we toepassen wat we hebben geleerd met een eenvoudig voorbeeld. Stel dat er een functie is genaamd add die twee getallen optelt. Zo kan een test hiervoor worden geschreven met Pytest:

# content of test_example.py
def add(a, b):
    return a + b

def test_add():
    assert add(2, 3) == 5
    assert add('space', 'ship') == 'spaceship'

Dit codevoorbeeld toont twee tests: één voor getallen en één voor strings. De assert-instructies controleren of de functie zich gedraagt zoals verwacht.

Tests uitvoeren en resultaten interpreteren

Het uitvoeren van tests met Pytest is zeer eenvoudig. Navigeer naar de map waarin het testbestand zich bevindt en voer het volgende commando uit:

pytest

Pytest ontdekt en voert automatisch alle tests in de map uit en toont een rapport waarin staat of elke test is geslaagd of mislukt. Dit is wat je mogelijk ziet:

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Elke punt staat voor een geslaagde test. Pytest geeft gedetailleerde output voor mislukte tests, inclusief het regelnr. en de reden van de fout, waardoor het eenvoudig is om problemen te diagnosticeren en op te lossen.

===================== test session starts ======================
collected 2 items

test_example.py .F                                         [100%]

====================== FAILURES ==========================
____________________ test_add _________________________

    def test_add():
>       assert add(2, 3) == 8
E       AssertionError: assert 5 == 8
E        +  where 5 = add(2, 3)

test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================

Resultaten interpreteren

  • Geslaagd (.): de test is succesvol uitgevoerd en alle assertions waren True;
  • Mislukt (F): de test bevat assertions die niet True waren, wat op een probleem wijst;
  • Overgeslagen (s): de test is overgeslagen, mogelijk vanwege een ingestelde voorwaarde of afhankelijkheid.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

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

bookPytest-Framework: Opzetten en Uitvoeren van Geautomatiseerde Tests

Veeg om het menu te tonen

Installatie

Allereerst moet Pytest worden geïnstalleerd. Dit proces is eenvoudig dankzij de pakketbeheerder van Python, pip. Open de opdrachtregel of terminal en voer het volgende commando uit:

pip install pytest

Het is altijd beter om dit in de virtuele omgeving van het project te doen.

Uitleg van de Syntax

Een van de redenen waarom Pytest zo populair is in de Python-gemeenschap, is de eenvoudige en gemakkelijk leesbare syntax. In tegenstelling tot sommige andere testframeworks, maakt Pytest het mogelijk om testcode op een zeer leesbare manier te schrijven. Een kort overzicht:

  • Testbestanden: pytest herkent bestanden die beginnen met test_ of eindigen op _test.py;
  • Testfuncties: functies die beginnen met test_ in deze bestanden worden automatisch door pytest als testfuncties herkend;
  • Assertions: gebruik de ingebouwde assert-instructie van Python om te controleren of aan specifieke voorwaarden is voldaan.

Codevoorbeelden

Laten we toepassen wat we hebben geleerd met een eenvoudig voorbeeld. Stel dat er een functie is genaamd add die twee getallen optelt. Zo kan een test hiervoor worden geschreven met Pytest:

# content of test_example.py
def add(a, b):
    return a + b

def test_add():
    assert add(2, 3) == 5
    assert add('space', 'ship') == 'spaceship'

Dit codevoorbeeld toont twee tests: één voor getallen en één voor strings. De assert-instructies controleren of de functie zich gedraagt zoals verwacht.

Tests uitvoeren en resultaten interpreteren

Het uitvoeren van tests met Pytest is zeer eenvoudig. Navigeer naar de map waarin het testbestand zich bevindt en voer het volgende commando uit:

pytest

Pytest ontdekt en voert automatisch alle tests in de map uit en toont een rapport waarin staat of elke test is geslaagd of mislukt. Dit is wat je mogelijk ziet:

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Elke punt staat voor een geslaagde test. Pytest geeft gedetailleerde output voor mislukte tests, inclusief het regelnr. en de reden van de fout, waardoor het eenvoudig is om problemen te diagnosticeren en op te lossen.

===================== test session starts ======================
collected 2 items

test_example.py .F                                         [100%]

====================== FAILURES ==========================
____________________ test_add _________________________

    def test_add():
>       assert add(2, 3) == 8
E       AssertionError: assert 5 == 8
E        +  where 5 = add(2, 3)

test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================

Resultaten interpreteren

  • Geslaagd (.): de test is succesvol uitgevoerd en alle assertions waren True;
  • Mislukt (F): de test bevat assertions die niet True waren, wat op een probleem wijst;
  • Overgeslagen (s): de test is overgeslagen, mogelijk vanwege een ingestelde voorwaarde of afhankelijkheid.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2
some-alt