ホームページ  >  記事  >  データベース  >  単体テストで「RuntimeError: Working Outside of Application Context」を解決するにはどうすればよいですか?

単体テストで「RuntimeError: Working Outside of Application Context」を解決するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-16 16:47:03519ブラウズ

How to Resolve

RuntimeError: Working Outside of Application Context

テストで app.py モジュールから before_request 関数と input_info 関数を単体テストしようとしたとき。 py、RuntimeError が発生しました。これは、関数がアプリケーションの外部で呼び出されていることを示していますcontext.

この問題を解決するには、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 関数への呼び出しをラップし、必要なテスト アプリケーション コンテキストを作成し、ランタイムエラー。

以上が単体テストで「RuntimeError: Working Outside of Application Context」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。