Bagaimana untuk mengejek Modul Permintaan Python untuk Interaksi API Realistik?

Barbara Streisand
Lepaskan: 2024-10-20 19:46:02
asal
412 orang telah melayarinya

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

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

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

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!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!