Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 10, 2012 12:16:48

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как готовить mock

mock уже в stdlib. Под именем unittest.mock



Офлайн

#2 Июнь 11, 2012 10:15:35

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Как готовить mock

Ed
Мне он кажется более понятным, простым и управляемым. И писать так было намного легче. Если что-то ломалось, то в трэйсбэке было видно где, в отличие от моих попыток сделать это с использованием mock. В чем тогда смысл его использования?
В этом примере, функционал почти полностью заменяется своим, потому и получается, что свои классы удобнее написать. Минус в том, что если в следующем тесте вы захотите использовать реальный модуль или какую то функцию из него, нужно будет в ручную убирать патч, с mock и контекст менеджером это делается автоматически.

Вот более удачный пример использования mock:
http://blueprintforge.com/blog/2012/01/08/python-injecting-mock-objects-for-powerful-testing
https://github.com/MattCottingham/pyclientauth/blob/master/tests.py

И еще, иногда нужно проверить сколько раз был вызван метод/функция, с какими аргументами, изменить в объекте только один метод, тогда mock и выглядит более удобным чем ручное написание.



Офлайн

#3 Июнь 11, 2012 23:49:12

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Как готовить mock

Спасибо за ссылки, посмотрю. Может это добавит понимания. Пока все очень туго идет. По-прежнему не могу осознать как с этим работать.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version