Я пишу тесты для моего приложения, используя unittest в Python3.6. Я создаю простое приложение Flask для этого теста, в котором я хочу зарегистрировать свои определенные чертежи. Проблема, которую я получаю, заключается в следующем: когда я пытаюсь импортировать свои чертежи, это:
File "/app/test/__init__.py", line 1, in <module>
from . import test_views
File "/app/test/test_views.py", line 50, in <module>
from api.metrics.views import stats
File "/app/api/metrics/__init__.py", line 1, in <module>
from .views import stats
File "/app/api/metrics/views.py", line 13, in <module>
def get_stats(client=None):
File "/testenv/lib/python3.6/site-packages/flask/blueprints.py", line 161, in decorator
endpoint = options.pop("endpoint", f.__name__)
File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/mock.py", line 584, in __getattr__
raise AttributeError(name)
AttributeError: __name__
Ошибка возникает, когда я звоню @stats.route ... в этом коде:
stats = Blueprint('metrics', __name__)
@stats.route('/metrics', methods=['POST'])
@setup.require_suth
def get_metrics(client=None):
<This code is not relevant>
Кто-нибудь знает, как это сделать правильно? Я действительно не могу понять, как это сделать.
Это моя структура:
/app
/api
/metrics
__init__.py
views.py
/test
test_views.py
А вот оператор импорта в моих тестах:
app_ = define_test_app()
from api.metrics.views import stats
app_.register_blueprint(stats)
Буду признателен за помощь, поскольку я полностью застрял на этом этапе.