Sobes.tech
Junior — Middle

PyTest qanday qilib test jarayonida qaysi test funksiyalari yoki holatlari bajarilishi kerakligini aniqlaydi?

sobes.tech AI

AIdan javob

PyTest avtomатик равишда тест функциялари ва методларини номланиш ва тузилиш қоидаларига мувофиқ аниқлайди. Унга кўра, у қидиради:

  • 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 ишга туширилганда, бу икки тест аниқланади ва бажарилади.