Sobes.tech
Назад к вопросам
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 помогает контролировать поведение зависимостей, а фикстуры — создавать стабильную тестовую среду.