Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengejek Modul Permintaan Python untuk Interaksi API Realistik?
Mocking Pythons meminta Modul untuk Simulasi Interaksi API
Dalam usaha kami untuk menguji secara menyeluruh kod Python yang berinteraksi dengan API, secara berkesan mengejek modul permintaan adalah penting. Berikut ialah pendekatan langkah demi langkah untuk mengejek panggilan requests.get() dengan respons tersuai:
Langkah 1: Mengejek Modul Permintaan
Menggunakan pakej olok-olok Python, kami mentakrifkan fungsi tersuai kami (mocked_requests_get) untuk mengatasi requests.get(). Fungsi ini mengembalikan respons olok-olok berdasarkan URL yang disediakan. Dalam contoh kami, URL yang berbeza akan menerima respons khusus:
def mocked_requests_get(*args, **kwargs): if args[0] == 'aurl': return 'a response' elif args[0] == 'burl': return 'b response' elif args[0] == 'curl': return 'c response'
Langkah 2: Mengejek dalam Kelas Ujian
Dalam kelas ujian kami, kami menggunakan olok-olok pada modul permintaan menggunakan unittest.mock.patch():
@mock.patch('requests.get', side_effect=mocked_requests_get)
Penghias ini membungkus kaedah ujian kami, memastikan requests.get dipermainkan dengan fungsi tersuai kami.
Langkah 3: Memanggil Lihat dan Mengesahkan Respons
Kami menggunakan fungsi paparan seperti biasa dan mengesahkan respons yang dijangkakan. Fungsi olok-olok kami menjamin bahawa respons sepadan dengan respons tersuai yang kami tetapkan sebelum ini:
res1 = requests.get('aurl') assert res1 == 'a response' res2 = request.get('burl') assert res2 == 'b response' res3 = request.get('curl') assert res3 == 'c response'
Dengan mengikuti langkah-langkah ini, anda boleh mengejek modul permintaan dengan berkesan dalam ujian Python anda, membolehkan anda mensimulasikan pelbagai respons API dan dengan teliti uji kelakuan kod anda dalam senario yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk mengejek Modul Permintaan Python untuk Interaksi API Realistik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!