Tutorial PyUnit: Rangka Kerja Pengujian Unit Python (dengan Contoh)

Isi kandungan:

Anonim

Apa itu Ujian Unit?

Ujian Unit di Python dilakukan untuk mengenal pasti bug pada peringkat awal aplikasi apabila pepijat kurang berulang dan lebih murah untuk diperbaiki.

Uji unit adalah ujian tahap kod skrip yang dirancang di Python untuk mengesahkan "unit" kecil fungsi. Uji unit adalah kerangka berorientasikan objek berdasarkan sekitar lekapan ujian.

Teknik Ujian Unit Python

Ujian Unit Python terutamanya melibatkan pengujian modul tertentu tanpa mengakses kod yang bergantung. Pembangun boleh menggunakan teknik seperti rintisan dan ejekan untuk memisahkan kod menjadi "unit" dan menjalankan ujian tahap unit pada setiap bahagian.

  • Pembangunan Bergerak Uji TDD: Pengujian Unit harus dilakukan bersama dengan Python, dan untuk itu pembangun menggunakan kaedah Pengujian Bergerak Uji. Dalam kaedah TDD, pertama-tama anda merancang ujian Unit Python dan barulah anda terus menulis kod yang akan melaksanakan ciri ini.
  • Stubs and Mocks: Mereka adalah dua teknik utama yang mensimulasikan kaedah palsu yang sedang diuji. A tunas digunakan untuk mengisi dalam beberapa pergantungan diperlukan untuk ujian unit untuk beroperasi dengan betul. A Mock di sisi lain adalah objek palsu yang menjalankan ujian di mana kita meletakkan ceritakan.

    Tujuan kedua-dua kaedah adalah sama untuk menghilangkan pengujian kebergantungan kelas atau fungsi.

Rangka Kerja Pengujian Unit Python

Untuk menjadikan proses Pengujian Unit lebih mudah dan meningkatkan kualiti projek anda, disarankan Kerangka Uji Unit Python. Kerangka Ujian Unit merangkumi

  • PyUnit: PyUnit menyokong lekapan, kes ujian, suite ujian dan pelari ujian untuk ujian automatik kod. Di PyUnit, anda boleh mengatur kes ujian ke dalam suite dengan kelengkapan yang sama
  • Hidung: Plugin Nose yang terpasang membantu anda dengan tangkapan output, liputan kod, doktrin, dan lain-lain. Sintaksis hidung lebih mudah dan mengurangkan halangan ujian menulis. Ia memanjangkan Python tanpa rasa senang untuk membuat ujian lebih mudah.
  • Doctest: Skrip ujian Doctest masuk dalam bentuk dokumen dengan fungsi kecil di bahagian bawah fail. Doctest membolehkan anda menguji kod anda dengan menjalankan contoh yang disertakan dalam dokumentasi dan mengesahkan bahawa mereka memberikan hasil yang diharapkan. Kes penggunaan doktrin kurang terperinci dan tidak mengambil kes khas. Mereka berguna sebagai dokumentasi ekspresif mengenai kes penggunaan utama modul dan komponennya.

Ujian Unit dengan PyUnit

Pyunit adalah pelabuhan Python JUnit. Sebagai sebahagian daripada Pyunit, dalam modul yang paling menarik terdapat lima kelas utama.

  • Kelas TestCase : Kelas TestCase menjalankan rutin ujian dan memberikan kait untuk membuat setiap rutin dan membersihkannya selepas itu
  • Kelas TestSuite : Ia berfungsi sebagai wadah pengumpulan, dan dapat memiliki banyak objek testcase dan beberapa objek testuites
  • Kelas TestLoader : Kelas ini memuatkan kes ujian dan suite yang ditentukan secara tempatan atau dari fail luaran. Ia mengeluarkan objek testuite yang mempunyai suite dan kes tersebut
  • Kelas TextTestRunner : Untuk menjalankan ujian, ia menyediakan platform standard untuk melaksanakan ujian
  • Kelas TestResults : Ia menawarkan bekas standard untuk keputusan ujian

Merancang kes ujian untuk Python Testing menggunakan PyUnit

Ujian unit menyediakan kelas asas, kes ujian, yang mungkin digunakan untuk membuat kes ujian baru. Untuk merancang kes ujian, terdapat tiga set kaedah yang digunakan adalah

unittest.TestCase

setUp()teardown()skipTest(aMesg:string)fail(aMesg:string)id():stringshortDescription():string

Pada set pertama adalah cangkuk ujian pra dan pasca. Kaedah setup () bermula sebelum setiap rutin ujian, teardown () setelah rutin.

Kaedah yang kedua mengawal pelaksanaan ujian. Kedua-dua kaedah mengambil rentetan mesej sebagai input, dan keduanya membatalkan ujian yang sedang berlangsung. Tetapi kaedah skiptest () membatalkan ujian semasa sementara kaedah gagal () gagal sepenuhnya.

Kaedah terakhir atau ketiga membantu menentukan ujian. Id kaedah () mengembalikan rentetan yang terdiri daripada nama objek ujian dan rutin ujian. Dan kaedah shortDescription () mengembalikan komen docstr pada permulaan setiap rutin ujian.

Kelebihan menggunakan ujian Unit Python

  • Ini membantu anda mengesan bug pada awal kitaran pengembangan
  • Ia membantu anda menulis program yang lebih baik
  • Ia diselaraskan dengan mudah dengan kaedah dan alat ujian lain
  • Ia akan mempunyai bug yang lebih sedikit
  • Lebih mudah untuk diubah pada masa akan datang dengan akibat yang sangat sedikit