如何修复 Flask 测试中的'运行时错误:在应用程序上下文之外工作”?

Linda Hamilton
发布: 2024-11-13 15:34:02
原创
747 人浏览过

How Do I Fix

RuntimeError: Operating Outside Application Context

在 Flask 中,每个请求都会生成一个应用程序上下文,作为各种操作的上下文。测试 Flask 应用程序时,经常会遇到“RuntimeError:在应用程序上下文之外工作”错误。当在此定义的上下文之外尝试执行操作时,就会发生这种情况。

要解决此问题,您必须在单元测试中显式创建请求上下文。通过将 app.app_context() 合并到您的测试中,您可以为执行操作(例如数据库连接或模板渲染)建立必要的上下文:

def test_connection1(self):
with app.app_context():
object = TestMySQL()
object.before_request()
登录后复制

通过将测试代码包装在应用程序上下文中,您可以确保操作在正确的上下文中执行并避免运行时错误。此外,您可以利用 app.test_client() 创建嵌入应用程序上下文的测试客户端并模拟典型请求的效果,而无需实际的 HTTP 请求。

client = app.test_client()
response = client.get('/')
assert response.status_code == 200
登录后复制

总而言之,要避免“RuntimeError:在应用程序上下文之外工作”错误并成功测试 Flask 应用程序,使用 app.app_context() 或 app.test_client() 建立特定于请求的所需上下文操作。

以上是如何修复 Flask 测试中的'运行时错误:在应用程序上下文之外工作”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板