Sobes.tech
Junior — Middle

Hogyan határozza meg a PyTest, hogy mely tesztfüggvényeket vagy eseteket kell végrehajtani a tesztelés során?

sobes.tech MI

Válasz az MI-től

A PyTest automatikusan felismeri a tesztfüggvényeket és -metódusokat a megadott név- és szerkezet szabályok szerint. Alapértelmezés szerint keresi:

  • Azokat a függvényeket, amelyek neve test_-vel kezdődik.
  • Az osztályokon belüli metódusokat, amelyek neve szintén test_-tel kezdődik, feltéve, hogy az osztály is Test-tel kezdődik, és nem öröklődik az unittest.TestCase-ből.
  • Azokat a fájlokat, amelyek neve test_-tel kezdődik vagy _test.py-vel végződik.

Így a PyTest átvizsgálja a könyvtárakat, megtalálja ezeket a fájlokat, importálja őket, és végrehajtja az összes olyan függvényt és metódust, amelyek megfelelnek ezeknek a kritériumoknak. Ez megkönnyíti a tesztek szervezését anélkül, hogy azokat kifejezetten regisztrálni kellene.

Példa:

# test_example.py

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

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

A pytest futtatásakor ezek a két teszt automatikusan felismerésre és végrehajtásra kerülnek.