У меня есть декоратор, которому нужен тест, подобный следующему:
# code.py
from flask import request, current_app
def some_decorator(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if current_app.config['ENVIRONMENT'] == 'test':
pass
if request.method == 'POST':
pass
return f(*args, **kwargs)
return decorated_function
С тестом:
import mock
@mock.patch('flask.request')
def test_some_decorator(mock_req):
mock_req.method = 'POST'
function = lambda x: x
decorated_function = some_decorator(function)
function(1)
Теперь дело в том, что значение фиктивного request.method
не получается переопределяется с 'POST'
смоделированным значением, но вместо этого заканчивается 'GET'
, который я считаю значением по умолчанию.
Есть ли что-то, что я делаю неправильно?