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