Как группировать тесты в pytest
Python
Middle
Без компании
Как группировать тесты в pytest
Ответы
В pytest можно группировать тесты с помощью маркеров (markers) и классов.
**1. Маркеры:**
Позволяют помечать тесты и запускать их выборочно.
```
import pytest
@pytest.mark.slow
def test_long_operation():
assert 1 + 1 == 2
@pytest.mark.fast
def test_quick_check():
assert True
```
Запуск только помеченных тестов:
```
pytest -m slow
```
**2. Классы:**
Группировка тестов в классах для логической организации.
```
class TestMath:
def test_add(self):
assert 1 + 1 == 2
def test_sub(self):
assert 2 - 1 == 1
```
**3. Фикстуры (scope):**
Общие настройки для группы тестов.
```
@pytest.fixture(scope="module")
def shared_resource():
return SomeExpensiveSetup()
```
**4. Плагины (pytest-xdist):**
Параллельный запуск групп тестов.
```
pytest -n 4 # 4 потока
```