Переменная Mocked для unittest не работает в декорированной функции в flask - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть декоратор, которому нужен тест, подобный следующему:

# 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', который я считаю значением по умолчанию.

Есть ли что-то, что я делаю неправильно?

...