Я новичок в питоне и фляге.Я хотел создать модульные тесты для написанного API.Для аутентификации мы использовали jwt
.
Для модульного тестирования я не хочу, чтобы поток входил в декоратор @jwt_required
.В дополнение к этому я добавил несколько других декораторов для этого метода.
class A():
@jwt_required()
@mandatory_fields_check
@unlock_and_lock()
def get(self, address, name):
..
..
..
return jsonify(
{"payload": data,
"message": "data received successfully"}), 200
Юнит-тест Я пытаюсь написать
def test_get():
a_obj = A()
a_obj.get("address123", 'xyz')
Когда я запускаю выше тест с использованием py.test, я получаю сообщение об ошибке выполнения
def _find_app():
top = _app_ctx_stack.top
if top is None:
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
E
E This typically means that you attempted to use functionality that needed
E to interface with the current application object in some way. To solve
E this, set up an application context with app.app_context(). See the
E documentation for more information.
Нижемои цели:
Я не хочу, чтобы поток входил в логику декораторов
JWT-декоратор запрашивает контекст.Однако я собираюсь протестировать этот метод как обычный метод класса без каких-либо функций колбы.
Как смоделировать объекты, созданные внутри тестируемого метода?