Back to questions
Junior — Middle
49
Каким образом можно организовать и структурировать тесты при использовании pytest?
Companies where asked
Леста
Answer from AI
sobes.tech AI
В pytest тесты организуются в виде функций, которые можно группировать по файлам и директориям. Для структурирования тестов обычно используют:
- Файлы с префиксом
test_или суффиксом_test.py— pytest автоматически находит такие файлы. - Функции с именами, начинающимися с
test_— pytest считает их тестами. - Классы с именами, начинающимися с
Test, внутри которых находятся тестовые методы (имена которых начинаются сtest_). Классы не должны иметь конструктор__init__. - Использование фикстур (
@pytest.fixture) для подготовки и очистки тестовых данных, что помогает избежать дублирования кода. - Группировка тестов по директориям с файлом
__init__.pyили без него.
Пример простой структуры:
tests/
test_math.py
test_utils.py
# test_math.py
import pytest
def test_add():
assert 1 + 1 == 2
class TestMultiply:
def test_multiply(self):
assert 2 * 3 == 6
@pytest.fixture
def sample_data():
return [1, 2, 3]
def test_sum(sample_data):
assert sum(sample_data) == 6
Такой подход позволяет легко масштабировать тесты и поддерживать их в порядке.