测试需要 Flask 应用程序或请求上下文的代码
- 2025-02-20 09:23:00
- admin 原创
- 26
问题描述:
working outside of request context
我在测试中尝试访问时遇到问题session
。当我测试需要上下文的东西时,如何设置上下文?
import unittest
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def hello_world():
t = Test()
hello = t.hello()
return hello
class Test:
def hello(self):
session['h'] = 'hello'
return session['h']
class MyUnitTest(unittest.TestCase):
def test_unit(self):
t = tests.Test()
t.hello()
解决方案 1:
如果您想向您的应用程序发出请求,请使用test_client
。
c = app.test_client()
response = c.get('/test/url')
# test response
如果您想测试使用应用程序上下文(current_app
、、 )g
的代码url_for
,请推送app_context
。
with app.app_context():
# test your app context code
如果您想要使用请求上下文(request
,session
)的测试代码,请按下test_request_context
。
with current_app.test_request_context():
# test your request context code
应用程序和请求上下文都可以手动推送,这在使用解释器时很有用。
>>> ctx = app.app_context()
>>> ctx.push()
Flask-Script 或新的 Flask cli 将在运行命令时自动推送应用程序上下文shell
。
Flask-Testing
是一个有用的库,包含用于测试 Flask 应用程序的助手。
相关推荐
热门文章
项目管理软件有哪些?
- 2025年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 项目管理必备:盘点2024年13款好用的项目管理软件
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
热门标签
云禅道AD