Kerangka UnitTest - Penanganan Sinyal

Penanganan control-C yang lebih efisien selama uji coba disediakan oleh opsi baris perintah -c / - catch ke unittest, bersama dengan catchbreakparameter. Dengan mengaktifkan perilaku catch break, control-C akan memungkinkan pengujian yang sedang berjalan untuk diselesaikan, dan pengujian yang dijalankan kemudian akan berakhir dan melaporkan semua hasil sejauh ini. Kontrol kedua-c akan memunculkan KeyboardInterrupt dengan cara biasa.

Jika penangan unittest dipanggil tetapi penangan signal.SIGINT tidak diinstal, maka ia akan memanggil penangan default. Ini biasanya akan menjadi perilaku yang diharapkan oleh kode yang menggantikan penangan yang diinstal dan mendelegasikannya. Untuk pengujian individual yang memerlukan penanganan control-c unittest dinonaktifkan, dekorator removeHandler () dapat digunakan.

Fungsi utilitas berikut memungkinkan fungsionalitas penanganan kontrol-c dalam kerangka kerja pengujian -

unittest.installHandler ()

Pasang pengendali control-c. Ketika sebuahsignal.SIGINT diterima semua hasil terdaftar memiliki TestResult.stop () yang dipanggil.

unittest.registerResult (hasil)

Daftar a TestResultobjek untuk penanganan control-c. Mendaftarkan hasil akan menyimpan referensi lemah ke hasil tersebut, sehingga tidak mencegah hasil dikumpulkan dari sampah.

unittest.removeResult (hasil)

Hapus hasil terdaftar. Setelah hasil dihapus, maka TestResult.stop () tidak akan lagi dipanggil pada objek hasil tersebut sebagai respons terhadap control-c.

unittest.removeHandler (function = None)

Saat dipanggil tanpa argumen, fungsi ini menghapus pengendali control-c jika sudah diinstal. Fungsi ini juga dapat digunakan sebagai penghias tes untuk sementara menghapus penangan saat tes sedang dijalankan.

Pelari Uji GUI

Modul unittest diinstal untuk menemukan dan menjalankan pengujian secara interaktif. Utilitas ini, skrip Python 'inittestgui.py' menggunakan modul Tkinter yang merupakan port Python untuk kit alat grafis TK. Ini memberikan GUI yang mudah digunakan untuk menemukan dan menjalankan tes.

Python unittestgui.py

Klik tombol 'Temukan Tes'. Kotak dialog kecil muncul di mana Anda dapat memilih direktori dan modul dari mana pengujian akan dijalankan.

Terakhir, klik tombol start. Tes akan ditemukan dari jalur yang dipilih dan nama modul, dan panel hasil akan menampilkan hasilnya.

Untuk melihat rincian tes individu, pilih dan klik tes di kotak hasil -

Jika Anda tidak menemukan utilitas ini di instalasi Python, Anda bisa mendapatkannya dari halaman proyek http://pyunit.sourceforge.net/.

Serupa, utilitas berdasarkan toolkit wxpython juga tersedia di sana.