Исправление Falcon hook

#python #unit-testing

#python #модульное тестирование

Вопрос:

У меня есть api с перехватом before. Я хочу исправить это для моей custom_function. Есть идеи, как мне это сделать? Я уже исправил falcon.before свой custom_falcon_before.

 class TestModel(MyTestCase):
    def falcon_before(self, model_exists):
        return model_exists

    def model_exists(self, req, resp, resource, params, require_exists):
        pass

    @patch("app.views.expect_model_existence", side_effect=model_exists)
    @patch("falcon.before", side_effect=falcon_before)
    def test_delete(self, falcon_before, model_exists):
        import falcon
        print(falcon_before is falcon.before)
        print(model_exists is expect_model_existence)
  

вторая печать False .

Моя модель API такая, как показано ниже

 class SingleModel:

    @falcon.before(expect_model_existence, True)
    def on_delete(self, req, resp, model_id):
        pass
  

Ответ №1:

Поместите expect_model_existence в отдельный модуль и исправьте его перед view.py импортом

Поместите print('too late') в модуль, который содержит expect_model_existence , чтобы убедиться, что все в порядке.

Falcon не предоставляет ничего более удобного : (