Форум сайта python.su
Всем привет.
Пишу юнит тесты для драйвера устройства, хочу чтобы они работали даже тогда, когда самого реального устройства нет под рукой.
Решил для этого использовать mock объекты, но с ними ещё плохо знаком.
В драйвере есть различные функции, каждая из которых в итоге обращается в функции взаимодействия с устройством.
Я хочу импортировать драйвер, переопределить эти функции как мок-объекты и использовать остальные функции как обычно, так, чтобы они вызывали мок-функцию взаимодействия с драйвером.
Как это делается обычно? т.е. я представляю как сделать мок-объект всего драйвера, но это совсем не то что мне нужно. мне нужно переопределить только несколько функций из импортируемого модуля чобы остальные функции в этом модуле использовали именно подменённые функции.
По идее питон это позволяет, но мне интересна сама реализация. Пусть драйвер выглядит примерно так:
def send(info): send_to_device(info) class driver(object) def a(x, y): send(a.t + y.r) def b(x): send(x.temp)
Офлайн
Офлайн