Встречается на собеседованиях • сегодня
В чем разница между mock и fixture в pytest
Mock (из unittest.mock или pytest-mock) подменяет реальный объект на фейковый для тестирования. Используется для изоляции тестов от внешних зависимостей (API, БД и т.д.).
Fixture — это функция, которая подготавливает данные или состояние для теста. Может быть переиспользована между тестами, управляется через @pytest.fixture.
Пример:
python
import pytest
from unittest.mock import Mock
@pytest.fixture
def user_data():
return {"name": "Alice", "age": 30}
def test_user_age(user_data, mocker):
mock_db = mocker.patch("db.get_user", return_value=user_data)
result = mock_db()
assert result["age"] == 30Разница:
mockзаменяет объект,fixtureпредоставляет данные.mockобычно временный (в рамках теста),fixtureможет быть сессионной.mockдля изоляции,fixtureдля подготовки окружения.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы