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中文網其他相關文章!