Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menegaskan Lemparan Pengecualian dalam Fungsi Python Menggunakan `assertRaises`?

Bagaimana untuk Menegaskan Lemparan Pengecualian dalam Fungsi Python Menggunakan `assertRaises`?

Linda Hamilton
Lepaskan: 2024-11-03 21:01:03
asal
621 orang telah melayarinya

How to Assert Exception Throwing in Python Functions Using `assertRaises`?

Menguji Pengecualian dalam Fungsi Python dengan Penegasan

Menulis kod teguh selalunya melibatkan pengendalian pengecualian dengan sewajarnya. Memastikan fungsi membuang pengecualian yang dijangkakan adalah penting untuk menguji keupayaan pengaturcaraan pertahanan mereka.

Soalan: Bagaimanakah saya boleh menulis ujian unit yang menegaskan sama ada fungsi Python membuang pengecualian tertentu?

Jawapan: Gunakan kaedah assertRaises daripada modul ujian unit. Kaedah ini mengambil dua hujah: kelas pengecualian yang dijangkakan dan fungsi yang akan digunakan. Jika fungsi gagal membuang pengecualian yang dijangkakan di bawah ujian, ujian akan gagal.

Contoh:

<code class="python">import mymod
import unittest

class MyTestCase(unittest.TestCase):
    def test1(self):
        self.assertRaises(SomeCoolException, mymod.myfunc)</code>
Salin selepas log masuk

Dalam contoh ini, kaedah ujian test1 menegaskan bahawa fungsi myfunc dari modul mymod membuang pengecualian jenis SomeCoolException apabila dipanggil. Ujian gagal jika pengecualian tidak dilemparkan.

Teknik ini ialah cara ringkas dan berkesan untuk mengesahkan keupayaan pengendalian pengecualian fungsi Python, memastikan ia berkelakuan seperti yang dimaksudkan dalam senario yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Menegaskan Lemparan Pengecualian dalam Fungsi Python Menggunakan `assertRaises`?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan