Я пишу API в Python и использую Flask -RESTFul . У меня есть Login метод, который получает Email и Password в качестве параметров запроса, оба обязательны:
class Login(Resource):
def __init__(self):
self.parser = reqparse.RequestParser()
self.parser.add_argument('email', required=True)
self.parser.add_argument('password', required=True)
Код работает просто отлично , Если я пытаюсь выполнить запрос через Postman без параметров запроса, Flask -RESTFul отправляет сообщение об ошибке, в котором указываются поля E-mail и Password.
Теперь я хочу написать для этого модульный тест. На самом деле тест должен быть довольно простым:
@mock.patch('flask_restful.reqparse.RequestParser.parse_args')
class TestLoginMethods(unittest.TestCase):
def test_post_body_missing(self, parse_args):
self.login = Login()
self.login.post()
# TODO: should assert error when Email and Password not found in request
Проблема здесь в том, что parse_args
подвергается насмешке, а функциональность Flask -RESTFul, вызывающая ошибку для обязательных полей, отсутствует. Это означает, что ошибка не будет возвращена, если адрес электронной почты и пароль не были предоставлены . Как мне заглушить эту функциональность RequestParser
? Я новичок в python, я мог найти только примеры без Flask -RESTFul.