Sobes.tech
Junior — Middle

Hoe bepaalt PyTest welke testfuncties of -gevallen tijdens het testen moeten worden uitgevoerd?

sobes.tech AI

Antwoord van AI

PyTest detecteert automatisch testfuncties en -methoden volgens bepaalde naamgevings- en structuurregels. Standaard zoekt het:

  • Functies waarvan de naam begint met test_.
  • Methoden binnen klassen waarvan de naam begint met test_, op voorwaarde dat de klasse ook begint met Test en niet erft van unittest.TestCase.
  • Bestanden waarvan de naam begint met test_ of eindigt op _test.py.

Op deze manier scant PyTest directories, vindt deze bestanden, importeert ze en voert alle functies en methoden uit die aan deze criteria voldoen. Dit maakt het organiseren van tests eenvoudig zonder ze expliciet te hoeven registreren.

Voorbeeld:

# test_example.py

def test_sum():
    assert sum([1, 2, 3]) == 6

class TestMath:
    def test_multiply(self):
        assert 2 * 3 == 6

Bij het uitvoeren van pytest worden deze twee tests gedetecteerd en uitgevoerd.