RuntimeError:在应用程序上下文之外工作
在给定的 Flask 应用程序中,尝试在单元测试中调用 before_request 函数(测试.py)会导致“运行时错误:在应用程序上下文之外工作”。调用 input_info 函数时也会出现同样的错误。
背景:
Flask 管理一个全局应用程序上下文,提供对数据库连接等服务的访问。要在上下文中工作,代码需要在应用程序的请求-响应周期内运行。
解决方案:
要解决错误,单元测试必须建立一个应用程序上下文。这可以使用 app.app_context() 作为上下文管理器来实现:
def test_connection(self): with app.app_context(): # Test code here using `g.db`
替代解决方案:
您可以使用Flask-Testing 扩展,它自动设置单元测试的上下文。
其他注意事项:
以上是为什么我在 Flask 单元测试中收到“运行时错误:在应用程序上下文之外工作”?的详细内容。更多信息请关注PHP中文网其他相关文章!