Назад к вопросам
Рунити
Middle
1
Что такое Mock в тестировании? Что такое фикстуры (fixtures)?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Mock в тестировании — это объект или функция, которая имитирует поведение реального компонента, чтобы изолировать тестируемый код от внешних зависимостей. Моки позволяют проверить, как код взаимодействует с другими частями системы, не вызывая реальные сервисы или базы данных.
Фикстуры (fixtures) — это заранее подготовленные данные или состояние, используемые для настройки тестовой среды. Они обеспечивают повторяемость тестов, создавая нужные условия (например, заполненную базу данных, файлы или объекты).
Пример использования mock и фикстуры в Python с pytest:
import pytest
from unittest.mock import Mock
# Фикстура для подготовки данных
@pytest.fixture
def sample_data():
return {'id': 1, 'name': 'Test'}
# Тест с использованием mock
def test_process_data(sample_data):
service = Mock()
service.get_data.return_value = sample_data
result = process(service) # функция, которая вызывает service.get_data()
assert result == expected_result
service.get_data.assert_called_once()
Таким образом, mock помогает контролировать поведение зависимостей, а фикстуры — создавать стабильную тестовую среду.