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 naTesta nezdedí odunittest.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é.