Sobes.tech
Junior — Middle

Ինչպե՞ս է PyTest-ը որոշում, թե որ թեստային ֆունկցիաները կամ դեպքերը պետք է կատարվեն փորձարկման ընթացքում։

sobes.tech AI

Պատասխան AI-ից

PyTest ինքնաբերաբար հայտնաբերում է փորձարկման ֆունկցիաները և մեթոդները որոշակի անվանման և կառուցվածքի կանոնների համաձայն։ Դեպքային, այն որոնում է՝

  • Ֆունկցիաներ, որոնց անունը սկսվում է test_-ով:
  • Մեթոդներ դասերի ներսում, որոնց անունը սկսվում է test_, պայմանով, որ դասը նույնպես սկսվում է Test-ով և չի ժառանգում unittest.TestCase-ից:
  • Ֆայլեր, որոնց անունը սկսվում է test_-ով կամ ավարտվում _test.py-ով:

Այսպիսով, PyTest սքանավորում է դիրեկտորին, գտնում այդ ֆայլերը, ներբեռնում և գործարկում է բոլոր ֆունկցիաները և մեթոդները, որոնք համապատասխանում են այս չափանիշներին։ Սա հեշտացնում է թեստերի կազմակերպումը առանց նրանց հստակ գրանցելու:

Օրինակ՝

# test_example.py

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

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

Երբ գործարկում եք pytest, այս երկու թեստերը ավտոմատ կերպով հայտնաբերվում և կատարվում են։