ホームページ >データベース >mysql チュートリアル >Flask 単体テストで「RuntimeError: Working Outside of Application Context」が発生するのはなぜですか?
RuntimeError: Working Outside of Application Context
指定された Flask アプリケーションで、単体テスト (テスト) で before_request 関数を呼び出そうとしました。 .py) を実行すると、「RuntimeError: アプリケーション コンテキスト外で動作しています。」というエラーが発生します。 input_info 関数を呼び出すときにも同じエラーが発生します。
Background:
Flask は、データベース接続などのサービスへのアクセスを提供するグローバル アプリケーション コンテキストを管理します。コンテキスト内で動作するには、アプリケーションのリクエストとレスポンスのサイクル内でコードを実行する必要があります。
解決策:
エラーを解決するには、単体テストでアプリケーションコンテキスト。これは、コンテキスト マネージャーとして app.app_context() を使用して実現できます:
def test_connection(self): with app.app_context(): # Test code here using `g.db`
代替解決策:
アプリケーション コンテキストを手動で管理する代わりに、次のように使用できます。 Flask-Testing 拡張機能。単体テストのコンテキストを自動的に設定します。
追加考慮事項:
以上がFlask 単体テストで「RuntimeError: Working Outside of Application Context」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。