首頁  >  文章  >  資料庫  >  如何修復 Flask 測試中的「運行時錯誤:在應用程式上下文之外工作」?

如何修復 Flask 測試中的「運行時錯誤:在應用程式上下文之外工作」?

Linda Hamilton
Linda Hamilton原創
2024-11-13 15:34:02756瀏覽

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