Зелёные тесты не всегда означают, что код защищён от ошибок. Моки могут скрывать проблемы: принимать неверные вызовы, не замечать изменения интерфейсов и создавать ложное чувство надёжности. В статье разберём типичные ошибки при работе с unittest.mock , особенности patch , spec и autospec , а также когда лучше использовать фейки вместо моков. Разобрать ошибки
Привет, Хабр!
История начинается с безобидного PR. В платёжный модуль добавили ключ идемпотентности, и у функции charge появился обязательный именованный аргумент.
Вызов в биллинге обновили, тесты прогнали, всё зелёное — мержим.
Через сорок минут после выката корзина отдаёт пятисотые, а в логах висит: