Sobes.tech
Junior — Middle

Kuidas määrab PyTest, millised testifunktsioonid või juhtumid tuleb testimise käigus täita?

sobes.tech AI

Vastus AI-lt

PyTest automaatselt tuvastab testifunktsioonid ja meetodid vastavalt kindlatele nimetamise ja struktuuri reeglitele. Vaikimisi otsib ta:

  • Funktsioone, mille nimed algavad test_.
  • Klasside sees meetodeid, mille nimed algavad test_, tingimusel, et klass ise algab Test ja ei pärine unittest.TestCase-st.
  • Failide nimed, mis algavad test_ või lõpevad _test.py.

Nii skannib PyTest kataloogid, leiab need failid, impordib need ja käivitab kõik funktsioonid ja meetodid, mis vastavad nendele kriteeriumidele. See lihtsustab testide korraldamist ilma nende otsese registreerimiseta.

Näide:

# test_example.py

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

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

Kui käivitate pytest, leitakse ja käivitatakse need kaks testi automaatselt.