RSS Планета Python

Реальный Python: Понимание библиотеки объектов Mock в Python

Мокинг в Python с помощью unittest.mock позволяет имитировать сложную логику или непредсказуемые зависимости, такие как ответы от внешних сервисов, в тестовой среде. Объект-мок - это заменяемый объект, который имитирует реальный объект в тестовой среде, обеспечивая контролируемую и предсказуемую среду тестирования для вашего кода на Python. Класс Mock позволяет имитировать реальные объекты, а функция patch() позволяет временно заменять моки на реальные объекты в ваших тестах. Mock отличается от MagicMock тем, что MagicMock включает в себя реализации большинства магических методов. Вы можете утверждать, что объект Mock был вызван с помощью методов, таких как .assert_called(), и установить возвращаемое значение мока, присвоив значение атрибуту .return_value мока. Использование объектов-мок - это гибкий и мощный способ улучшить качество ваших тестов, особенно при тестировании областей вашего кода, которые трудно удовлетворить, таких как блоки except и операторы if. Библиотека объектов-мок Python, unittest.mock, обеспечивает простой способ ввода мок в ваши тесты и включена в стандартную библиотеку, начиная с Python 3.3. Библиотека предлагает класс, называемый Mock, который вы будете использовать для имитации реальных объектов в вашем коде, и функцию, называемую patch(), которая заменяет реальные объекты в вашем коде экземплярами Mock. Используя объекты-мок Python, вы можете контролировать поведение вашего кода во время тестирования и понять, как вы используете их реальные аналоги в вашем коде. Объекты-мок содержат данные о их использовании, которые вы можете просматривать, такие как вызывался ли метод, как вы вызывали метод и сколько раз вы вызывали метод.
favicon
realpython.com
Real Python: Understanding the Python Mock Object Library
Изображение к статье: Реальный Python: Понимание библиотеки объектов Mock в Python
Create attached notes ...