Sobes.tech
Junior — Middle

Ako určuje PyTest, ktoré testovacie funkcie alebo prípady by mali byť vykonané počas testovania?

sobes.tech AI

Odpoveď od AI

PyTest automaticky detekuje testovacie funkcie a metódy podľa určitých pravidiel pomenovania a štruktúry. Predvolene hľadá:

  • Funkcie, ktorých názvy začínajú na test_.
  • Metódy v triedach, ktorých názvy začínajú na test_, za predpokladu, že aj trieda začína na Test a nezdedí od unittest.TestCase.
  • Súbory, ktorých názvy začínajú na test_ alebo končia na _test.py.

Týmto spôsobom PyTest prehľadáva adresáre, nachádza tieto súbory, importuje ich a spúšťa všetky funkcie a metódy, ktoré spĺňajú tieto kritériá. To uľahčuje organizáciu testov bez potreby ich explicitne registrovať.

Príklad:

# test_example.py

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

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

Po spustení pytest budú tieto dva testy automaticky detekované a vykonané.