У меня есть приложение Flask, и я пытаюсь написать для него тестовые наборы (новичок в тестировании) и использую unittest
, mock
для тестирования.
Я написал POST /invites
конечную точку API, и операторы импорта выглядят следующим образом
Файл apis.invites.py
from flask.ext.login import login_required
import flask_login
from flask_restplus import Namespace, Resource, fields, abort
.... # Some other imports
from libs.email_manager import EmailManager
....
....
api = Namespace('invites', description='Invites a user')
....
В моем тестовом примере я пытаюсь смоделировать этот объект EmailManager. Вот как выглядит мой test_invites.py
код
@mock.patch('apis.invites.EmailManager')
def test_resend_invite(self, email_manager_mock):
# testing the endpoint
Но при запуске тестового примера выдается следующая ошибка
Traceback (most recent call last):
File "/home/daffodil/Desktop/museconnect/venv/local/lib/python2.7/site-packages/mock/mock.py", line 1297, in patched
arg = patching.__enter__()
File "/home/daffodil/Desktop/museconnect/venv/local/lib/python2.7/site-packages/mock/mock.py", line 1369, in __enter__
original, local = self.get_original()
File "/home/daffodil/Desktop/museconnect/venv/local/lib/python2.7/site-packages/mock/mock.py", line 1343, in get_original
"%s does not have the attribute %r" % (target, name)
AttributeError: <flask_restplus.namespace.Namespace object at 0x7f598979e050> does not have the attribute 'EmailManager'
Есть идеи, почему я получаю эту ошибку импорта?