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

如何解決單元測試中的「運行時錯誤:在應用程式上下文之外工作」?

DDD
DDD原創
2024-11-16 16:47:03519瀏覽

How to Resolve

運行時錯誤:在應用程式上下文之外工作

嘗試對test 中的app.py 模組中的before_request 和input_info 函數進行單元測試時。 py 時,遇到 RuntimeError,表示函數正在應用程式上下文之外呼叫。

To要解決此問題,必須使用 app.app_context() 上下文管理器在單元測試中建立測試應用程式上下文。此上下文管理器為 before_request 和 input_info 函數正確執行提供了必要的環境。

以下是如何在單元測試中使用app.app_context() 上下文管理器的範例:

from app import *
class Test(unittest.TestCase):         
    def test_connection1(self):  
        with app.app_context():
            object = TestMySQL()
            object.before_request()  # Should no longer throw a RuntimeError

在此測試中,app.app_context() 上下文管理器包裝了對before_request 函數的調用,建立必要的測試應用程式上下文並解析運行時錯誤。

以上是如何解決單元測試中的「運行時錯誤:在應用程式上下文之外工作」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn