Sobes.tech
Junior — Middle

Wie bestimmt PyTest, welche Testfunktionen oder -fälle während des Testprozesses ausgeführt werden sollen?

sobes.tech KI

Antwort von AI

PyTest erkennt automatisch Testfunktionen und -methoden anhand bestimmter Namens- und Strukturregeln. Standardmäßig sucht es:

  • Funktionen, deren Namen mit test_ beginnen.
  • Methoden innerhalb von Klassen, deren Namen mit test_ beginnen, vorausgesetzt, die Klasse beginnt ebenfalls mit Test und erbt nicht von unittest.TestCase.
  • Dateien, deren Namen mit test_ beginnen oder auf _test.py enden.

Auf diese Weise durchsucht PyTest Verzeichnisse, findet diese Dateien, importiert sie und führt alle Funktionen und Methoden aus, die diesen Kriterien entsprechen. Dies erleichtert die Organisation von Tests, ohne sie explizit registrieren zu müssen.

Beispiel:

# test_example.py

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

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

Beim Ausführen von pytest werden diese beiden Tests erkannt und ausgeführt.