Rumah > pembangunan bahagian belakang > Tutorial Python > Penyelesaian kepada ralat puting beliung Pengecualian (\'Tidak mendapat pengecualian yang dijangkakan\')

Penyelesaian kepada ralat puting beliung Pengecualian (\'Tidak mendapat pengecualian yang dijangkakan\')

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-02-29 21:55:32
ke hadapan
705 orang telah melayarinya

. pengecualian yang diharapkan tidak dilemparkan. Mungkin program itu tidak berkelakuan seperti yang diharapkan, atau pengecualian sedang ditangkap dan tidak dihantar ke rangka kerja ujian.

Penyelesaian kepada ralat puting beliung Pengecualian (\Tidak mendapat pengecualian yang dijangkakan\)Cara menyelesaikan

Terdapat beberapa cara untuk menyelesaikan masalah ini:

Pastikan program berjalan seperti yang diharapkan. Semak sama ada kod itu betul dan sama ada terdapat kelemahan yang menyebabkan pengecualian tidak dibuang. Pastikan pengecualian tidak ditangkap. Dalam program, pengecualian ditangkap tanpa dihantar ke rangka kerja ujian. Pastikan tiada pernyataan yang menarik pengecualian dalam kod ujian anda. Gunakan kaedah AsyncTestCase.assertRaises() Tornado untuk menegaskan bahawa pengecualian telah dilemparkan. Kaedah ini memastikan bahawa pengecualian yang dijangkakan dilemparkan dalam kod tak segerak. Jika tiada pengecualian dilemparkan, atau pengecualian yang dilemparkan bukan pengecualian yang dijangkakan, adalah disyorkan untuk menyemak semula kod, nyahpepijat atur cara dan cuba memahami status dan gelagat atur cara semasa ia dijalankan.

Contoh Penggunaan

Ya, berikut ialah contoh ujian unit menggunakan kaedah AsyncTestCase.assertRaises() Tornado:

import tornado.testing
import tornado.WEB

class MyHandler(tornado.web.RequestHandler):
async def get(self):
raise ValueError("This is a test exception")

class MyTestCase(tornado.testing.AsyncTestCase):
async def test_exception(self):
app = tornado.web.Application([(r"/", MyHandler)])
self.assertRaises(ValueError, self.fetch, '/')
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas MyHandler yang akan membuang pengecualian ValueError apabila kaedah get dilaksanakan. Kemudian kami mentakrifkan kaedah test_exception dalam MyTestCase Dalam kaedah ini, kami menggunakan kaedah self.assertRaises(ValueError, self.fetch, '/') untuk menegaskan bahawa pengecualian ValueError dibuang.

Jika program berjalan seperti biasa, ujian unit akan lulus. Jika pengecualian yang dijangkakan tidak dilemparkan, ralat "Pengecualian("Tidak mendapat pengecualian dijangka")" akan dilemparkan.

Atas ialah kandungan terperinci Penyelesaian kepada ralat puting beliung Pengecualian (\'Tidak mendapat pengecualian yang dijangkakan\'). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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