Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengejek Modul Permintaan Python untuk Interaksi API Realistik?

Bagaimana untuk mengejek Modul Permintaan Python untuk Interaksi API Realistik?

Barbara Streisand
Barbara Streisandasal
2024-10-20 19:46:02412semak imbas

How to Mock Python's Requests Module for Realistic API Interactions?

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!

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