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, овие два теста ќе бидат откриени и извршени.