RuntimeError: Operasi Luar Konteks Aplikasi
Dalam Flask, setiap permintaan menjana konteks aplikasi yang berfungsi sebagai konteks untuk pelbagai operasi. Semasa menguji aplikasi Flask, adalah perkara biasa untuk menghadapi ralat "RuntimeError: bekerja di luar konteks aplikasi". Ini berlaku apabila operasi dicuba di luar konteks yang ditentukan ini.
Untuk menangani isu ini, anda mesti mencipta konteks permintaan secara eksplisit dalam ujian unit anda. Dengan memasukkan app.app_context() ke dalam ujian anda, anda mewujudkan konteks yang diperlukan untuk melaksanakan operasi seperti sambungan pangkalan data atau pemaparan templat:
def test_connection1(self): with app.app_context(): object = TestMySQL() object.before_request()
Dengan membungkus kod ujian dalam konteks apl, anda memastikan operasi adalah dilakukan dalam konteks yang betul dan elakkan ralat Runtime. Selain itu, anda boleh menggunakan app.test_client() untuk mencipta klien ujian yang membenamkan konteks aplikasi dan meniru kesan permintaan biasa tanpa memerlukan permintaan HTTP sebenar.
client = app.test_client() response = client.get('/') assert response.status_code == 200
Ringkasnya, untuk mengelakkan ralat "RuntimeError: bekerja di luar konteks aplikasi" dan berjaya menguji aplikasi Flask, gunakan app.app_context() atau app.test_client() untuk mewujudkan konteks yang diperlukan untuk operasi khusus permintaan.
Atas ialah kandungan terperinci Bagaimana Saya Membetulkan 'RuntimeError: Bekerja di Luar Konteks Aplikasi' dalam Ujian Flask?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!