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

DDD
Lepaskan: 2024-11-16 16:47:03
asal
524 orang telah melayarinya

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan