python - 模拟 Flask before_first_request

标签 python unit-testing flask

我有一个 Flask 应用程序,它定义了一个 before_first_request 方法。该方法为应用程序加载一些缓存数据。我正在尝试运行一些单元测试,但缓存数据挡住了。我如何模拟该方法。

@app.before_first_request
def load_caches():
    print "loading caches..."
# cache loading here.

在我的测试文件中,我定义了一个全局的 test_client 如下:

from unittest import TestCase
from .. import application
import mock


test_app = application.app.test_client()

我的测试类(class)遵循这一点。问题是我的 test_app 加载了缓存,我需要在我的测试中模拟它。

最佳答案

您可以手动删除测试客户端中的 Hook :

test_app = application.app.test_client()
test_app.before_first_request_funcs = []

关于python - 模拟 Flask before_first_request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46549826/

相关文章:

python - 通过 Python 检索 Google+ 自动备份图像

jquery - python selenium 如何最好地检测闪烁文本?

python - 尝试从 ubuntu crontab 运行 python 脚本

unit-testing - NPE在单元测试中用于grails服务

spring - MapStruct 映射器未在 Spring 单元测试中注入(inject)

request - flask:wsgi-middleware与before_和after_request()

python - 在 Django 中获取按月分组的结果

c++ - ESP8266 的单元测试框架

python - 以关键字作为变量的 flask sqlalchemy查询

python - Flask 相当于 Sinatra 的 "passing"