Встречается на собеседованиях • сегодня

Как свести Mock объекты к минимуму

Используйте реальные объекты там, где это возможно. Mock'и нужны только для изоляции тестируемого кода от внешних зависимостей. Основные подходы:

  1. Используйте реальные легковесные объекты вместо моков, если они не требуют внешних зависимостей:
python
# Вместо mock_user
real_user = User(name="Test", age=25)
  1. Заменяйте фабриками/билдерами для сложных объектов:
python
def create_test_user(**kwargs):
    defaults = {"name": "Test", "age": 25}
    return User(**{**defaults, **kwargs})
  1. Применяйте паттерн Dependency Injection для легкой подмены зависимостей в тестах.

  2. Используйте фейковые реализации (Fake) вместо моков, когда нужно сохранить логику:

python
class FakeDB:
    def get_user(self, id):
        return User(id=id, name="Fake")
  1. Тестируйте через публичный API, а не внутренние методы, чтобы уменьшить количество моков.

Ключевое правило: мокайте только то, что действительно сложно или невозможно использовать в тестах (базы данных, внешние API и т.д.).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы