Tutorial PyUnit: Python Kerangka Pengujian Unit (dengan Contoh)

Apa itu Pengujian Unit?

Pengujian Unit in Python dilakukan untuk mengidentifikasi bug di awal tahap pengembangan aplikasi ketika bug tidak terlalu sering terjadi dan lebih murah untuk diperbaiki.

Pengujian unit adalah pengujian tingkat kode bernaskah yang dirancang Python untuk memverifikasi “unit” kecil fungsionalitas. Tes unit adalah kerangka kerja berorientasi objek yang didasarkan pada perlengkapan tes.

Python Teknik Pengujian Unit

Python Pengujian Unit terutama melibatkan pengujian modul tertentu tanpa mengakses kode dependen apa pun. Pengembang dapat menggunakan teknik seperti stub dan mocks untuk memisahkan kode menjadi “unit” dan menjalankan pengujian tingkat unit pada masing-masing bagian.

  • TDD Pengembangan Berbasis Tes: Pengujian Unit harus dilakukan bersamaan dengan Python, dan untuk itu pengembang menggunakan metode Test-Driven Development. Dalam metode TDD, Anda mendesain terlebih dahulu Python Tes unit dan baru kemudian Anda melanjutkan menulis kode yang akan mengimplementasikan fitur ini.
  • Rintisan dan Ejekan: Itu adalah dua teknik utama yang mensimulasikan metode palsu yang sedang diuji. A Potongan digunakan untuk mengisi beberapa ketergantungan yang diperlukan agar pengujian unit dapat berjalan dengan benar. A Mengejek di sisi lain adalah objek palsu yang menjalankan tes tempat kami menegaskan.

    Maksud dari kedua metode ini sama untuk menghilangkan pengujian semua dependensi suatu kelas atau fungsi.

Python Kerangka Pengujian Unit

Untuk mempermudah proses Pengujian Unit dan meningkatkan kualitas proyek Anda, disarankan Python Kerangka Pengujian Unit. Kerangka Pengujian Unit meliputi

Python Teknik Pengujian Unit

  • Unit Py: PyUnit mendukung perlengkapan, kasus pengujian, rangkaian pengujian, dan runner pengujian untuk pengujian kode secara otomatis. Di PyUnit, Anda dapat mengatur kasus uji ke dalam rangkaian dengan perlengkapan yang sama
  • Hidung: Plug-in bawaan Nose membantu Anda menangkap keluaran, cakupan kode, doctest, dll. Sintaks Nose cukup sederhana dan mengurangi hambatan dalam menulis tes. Itu meluas Python unittest untuk membuat pengujian lebih mudah.
  • Dokter : Skrip pengujian Doctest masuk dalam docstring dengan fungsi kecil di bagian bawah file. Doctest memungkinkan Anda menguji kode Anda dengan menjalankan contoh yang disertakan dalam dokumentasi dan memverifikasi bahwa contoh tersebut memberikan hasil yang diharapkan. Kasus penggunaan doctest kurang detail dan tidak menangkap kasus khusus. Mereka berguna sebagai dokumentasi ekspresif dari kasus penggunaan utama modul dan komponennya.

Pengujian Unit dengan PyUnit

Pyunit adalah a Python pelabuhan JUnit. Sebagai bagian dari Pyunit, dalam modul unittest terdapat lima kelas utama.

Pengujian Unit dengan PyUnit

  • kelas TestCase: Kelas TestCase memuat rutinitas pengujian dan memberikan kaitan untuk membuat setiap rutinitas dan pembersihan setelahnya
  • kelas TestSuite: Ini berfungsi sebagai wadah koleksi, dan dapat memiliki beberapa objek testcase dan beberapa objek testsuites
  • kelas TestLoader: Kelas ini memuat kasus uji dan rangkaian yang ditentukan secara lokal atau dari file eksternal. Itu memancarkan objek testsuite yang memiliki suite dan case tersebut
  • Kelas TextTestRunner: Untuk menjalankan pengujian, ia menyediakan platform standar untuk menjalankan pengujian
  • Kelas TestResults: Ini menawarkan wadah standar untuk hasil tes

Merancang kasus uji untuk Python Pengujian menggunakan PyUnit

Unit test menyediakan kelas dasar, test case, yang dapat digunakan untuk membuat test case baru. Untuk merancang kasus uji, ada tiga rangkaian metode yang digunakan yaitu

Merancang kasus uji untuk Python

unittest.TestCase

setUp()
teardown()

skipTest(aMesg:string)
fail(aMesg:string)

id():string
shortDescription():string

Pada set pertama adalah kait sebelum dan sesudah tes. Metode setup() dimulai sebelum setiap rutinitas pengujian, dan pembongkaran() setelah rutinitas.

Kumpulan metode kedua mengontrol eksekusi pengujian. Kedua metode mengambil string pesan sebagai masukan, dan keduanya membatalkan pengujian yang sedang berlangsung. Namun metode skiptest() membatalkan pengujian saat ini sedangkan metode fail() gagal sepenuhnya.

Metode terakhir atau ketiga membantu menentukan tes. Metode id() mengembalikan string yang terdiri dari nama objek testcase dan rutinitas pengujian. Dan metodenya singkatDescription() mengembalikan komentar docstr pada awal setiap pengujian rutin.

Keuntungan menggunakan Python Pengujian unit

  • Ini membantu Anda mendeteksi bug di awal siklus pengembangan
  • Ini membantu Anda menulis program yang lebih baik
  • Ini mudah disinkronkan dengan metode dan alat pengujian lainnya
  • Ini akan memiliki lebih sedikit bug
  • Lebih mudah untuk memodifikasinya di masa depan dengan konsekuensi yang lebih kecil