RuntimeError: Bekerja di Luar Konteks Aplikasi
Apabila cuba menguji unit before_request dan input_info daripada modul app.py dalam ujian. py, RuntimeError ditemui, menunjukkan bahawa fungsi sedang dipanggil di luar aplikasi konteks.
Untuk menyelesaikan isu ini, pengurus konteks app.app_context() mesti digunakan untuk mencipta konteks aplikasi ujian dalam ujian unit. Pengurus konteks ini menyediakan persekitaran yang diperlukan untuk fungsi before_request dan input_info untuk dilaksanakan dengan betul.
Berikut ialah contoh cara menggunakan pengurus konteks app.app_context() dalam ujian unit:
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
Dalam ujian ini, pengurus konteks app.app_context() membungkus panggilan ke fungsi before_request, mencipta konteks aplikasi ujian yang diperlukan dan menyelesaikan RuntimeError.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'RuntimeError: Bekerja di Luar Konteks Aplikasi' dalam Ujian Unit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!