Разбираемся с терминологией Test Doubles без лишней воды. В чем реальная разница между Mock, Stub и Fake? В статье разберем классификацию на живых примерах: поднимем умный стаб-сервер на FastAPI, напишем мок-шпион для проверки сайд-эффектов и ускорим тесты с помощью фейковых БД. Читать далее
Тестирование кода, особенно в сложных системах, зачастую затруднено из-за зависимости от реальных баз данных, внешних сервисов или действий пользователей. Чтобы упростить тестирование, используют заглушки — это упрощенные версии реальных компонентов, которые помогают проверить работу системы без необходимости запускать всё "по-настоящему". Читать далее
С некоторых пор я предпочитаю использовать фейки вместо стабов и моков, поскольку использование фейковых объектов вместо других тестовых дублёров делает тестовые наборы более надёжными. Я написал кодовую базу для своей книги Code That Fits in Your Head полностью с использованием фейков и
Зелёные тесты не всегда означают, что код защищён от ошибок. Моки могут скрывать проблемы: принимать неверные вызовы, не замечать изменения интерфейсов и создавать ложное чувство надёжности.В статье разберём типичные ошибки при работе с unittest.mock, особенности patch, spec и autospec, а также когда лучше использовать фейки вместо моков. Разобрать ошибки