首页  >  文章  >  数据库  >  如何修复 Flask 测试中的“运行时错误:在应用程序上下文之外工作”?

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

Linda Hamilton
Linda Hamilton原创
2024-11-13 15:34:02705浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn