Back to questions
Ростелеком
Junior — Middle
81
Каким образом PyTest определяет, какие тестовые функции или случаи следует выполнить в процессе тестирования?
Companies where asked
Answer from AI
sobes.tech 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 эти два теста будут обнаружены и выполнены.