RuntimeError: Bekerja di Luar Konteks Aplikasi
Dalam aplikasi Flask yang diberikan, percubaan untuk memanggil fungsi before_request dalam ujian unit (ujian .py) menghasilkan "RuntimeError: bekerja di luar konteks aplikasi." Ralat yang sama berlaku apabila memanggil fungsi input_info.
Latar Belakang:
Flask menguruskan Konteks Aplikasi global yang menyediakan akses kepada perkhidmatan seperti sambungan pangkalan data. Untuk berfungsi dalam konteks, kod perlu dijalankan dalam kitaran permintaan-tindak balas aplikasi.
Penyelesaian:
Untuk menyelesaikan ralat, ujian unit mesti mewujudkan Konteks Aplikasi. Ini boleh dicapai menggunakan app.app_context() sebagai pengurus konteks:
def test_connection(self): with app.app_context(): # Test code here using `g.db`
Penyelesaian Alternatif:
Daripada mengurus Konteks Aplikasi secara manual, anda boleh menggunakan sambungan Pengujian Flask, yang menyediakan konteks secara automatik untuk ujian unit.
Tambahan Pertimbangan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'RuntimeError: Bekerja di Luar Konteks Aplikasi' dalam Ujian Unit Kelalang Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!