Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan 'RuntimeError: Bekerja di Luar Konteks Aplikasi' dalam Ujian Unit?

Bagaimana untuk Menyelesaikan 'RuntimeError: Bekerja di Luar Konteks Aplikasi' dalam Ujian Unit?

DDD
DDDasal
2024-11-16 16:47:03592semak imbas

How to Resolve

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn