в модульном тесте Flask, как я могу насмехаться над объектами на глобальном объекте запроса `g`?
У меня есть колба приложение, которое устанавливает соединение с базой данных вbefore_filter
очень похоже наэто:
@app.before_request
def before_request():
g.db = connect_db()
Сейчас: я пишу несколько юнит-тестов и делаюне хочу, чтобы они попали в базу данных. Я хочу заменитьg.db
с фиктивным объектом, на который я могу установить ожидания.
Мои тесты используютapp.test_client()
, как показано в документации на колбуВот, Пример теста выглядит примерно так
def test(self):
response = app.test_client().post('/endpoint', data={..})
self.assertEqual(response.status_code, 200)
...
Тесты работают и проходят, но они попадают в базу данных, и, как я уже сказал, я хочу заменить доступ к базе данных фиктивными объектами. Я не вижу никакого пути вtest_client
чтобы получить доступ кg
возразить или изменить before_filters.