Как имитировать функцию, импортированную из другой функции или метода?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как имитировать функцию, импортированную из другой функции или метода?

Сообщение Anonymous »

У меня это не привычка, но иногда, чтобы обойти циклический импорт, я импортирую функцию из другой функции или метода, например:
< pre class="lang-py Prettyprint-override">

Код: Выделить всё

class MyClass:
def my_method(self):
from somewhere import the_thing
x = the_thing()
return x + 4
Это прекрасно работает, но я не могу понять, как это проверить. Моя обычная ошибка связана с жалобами на то, что у модуля "xyz" нет атрибута "the_thing":

Код: Выделить всё

from unittest import TestCase
from unittest.mock import patch

class MyTestCase(TestCase):
@patch("path.to.my.module.the_thing")
def test_stuff(self):
...
Есть ли способ имитировать функции, импортированные во время выполнения? Есть ли лучший способ сделать это?


Подробнее здесь: https://stackoverflow.com/questions/761 ... -or-method
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»