Junior — Middle
Jak PyTest określa, które funkcje lub przypadki testowe należy wykonać podczas testowania?
sobes.tech AI
Odpowiedź od AI
PyTest automatycznie wykrywa funkcje i metody testowe zgodnie z określonymi zasadami nazewnictwa i struktury. Domyślnie szuka:
- Funkcji, których nazwy zaczynają się od
test_. - Metod w klasach, których nazwy zaczynają się od
test_, pod warunkiem, że klasa również zaczyna się odTesti nie dziedziczy pounittest.TestCase. - Plików, których nazwy zaczynają się od
test_lub kończą na_test.py.
W ten sposób PyTest skanuje katalogi, znajduje takie pliki, importuje je i uruchamia wszystkie funkcje i metody spełniające te kryteria. Ułatwia to organizację testów bez konieczności ich jawnego rejestrowania.
Przykład:
# test_example.py
def test_sum():
assert sum([1, 2, 3]) == 6
class TestMath:
def test_multiply(self):
assert 2 * 3 == 6
Po uruchomieniu pytest te dwa testy zostaną wykryte i wykonane.