Ujian Python |. Mencipta ujian unit dalam python

王林
Lepaskan: 2023-04-11 19:37:15
ke hadapan
1757 orang telah melayarinya

Sebagai pembangun atau pengaturcara, setiap kali anda menulis kod, satu perkara sering diabaikan: ujian. Pengujian adalah sebahagian daripada pembangunan dan anda harus menguji aplikasi anda dengan teliti untuk memastikan ia memenuhi fungsi yang diperlukan.

Mari kita mulakan dengan sebab kita perlu menguji:

1 Kurangkan keperluan untuk ujian manual

Oleh kerana kes ujian telah ditulis terlebih dahulu, tidak ada sebab sebenar untuk dilakukan. mereka lagi Ujian manual. Selalunya, terutamanya dengan aplikasi besar, anda perlu menjalankan banyak peringkat dalam perisian anda untuk menguji sama ada ciri berfungsi. Ini boleh dielakkan melalui ujian. Bayangkan anda perlu menggunakan input khusus setiap kali anda menjalankan aplikasi anda. Dengan ujian, ini akan dimasukkan secara automatik setiap kali ia dijalankan.

2. Membolehkan struktur kod yang lebih baik

Mencipta kes ujian sebelum pembangunan adalah amalan terbaik. Ini memaksa anda untuk memikirkan sistem secara keseluruhan sebelum memulakan pembangunan.

3. Membolehkan ujian yang lebih pantas dalam jangka masa panjang

Semasa pengekodan, pelaksanaan fungsi boleh berubah, tetapi output tetap sama. Daripada menguji fungsi secara manual apabila pelaksanaannya berubah, anda hanya boleh melaksanakan kes ujian tertentu yang boleh menjalankan berbilang kes ujian sekaligus.

Bermula

Kami akan menumpukan pada satu jenis ujian tertentu, ujian unit. Jenis ujian khusus ini digunakan untuk menguji unit kecil kod, seperti fungsi atau kelas.

Untuk membuat ujian unit, kami akan menggunakan ujian unit perpustakaan standard python. Kaedah mencipta kes ujian ini menggunakan OOP (Pengaturcaraan Berorientasikan Objek) dengan mencipta kelas yang mengandungi semua kes ujian. Ini akan membolehkan kami menjalankan semua kes ujian dalam kelas sekaligus.

Nota: Anda boleh menggunakan mana-mana IDE atau editor teks yang anda kenali (IDE python lalai boleh digunakan). Untuk melakukan ini, saya akan menunjukkan menggunakan Visual Studio Code dengan sambungan python.

Mula-mula kami akan mengimport perpustakaan ujian unit kami:

import unittest
Salin selepas log masuk

Sekarang buat pengisytiharan kelas kami:

class TestingClass(unittest.TestCase):
Salin selepas log masuk

Nota (unittest.TestCase) dalam python It's inheritance. Menyediakan kefungsian kepada kelas.

Tambah fungsi pertama dalam kelas:

Ujian Python |. Mencipta ujian unit dalam python

self.assertEqual ialah kaedah yang disediakan oleh kelas yang diwarisi sebelum ini (unittest.TestCase). Kaedah ini menguji sama ada dua pembolehubah mempunyai nilai yang sama.

Tambahkan pelari ujian kami. Inilah yang menjadikan ujian unit kami dijalankan:

unittest.main()
Salin selepas log masuk

Beginilah rupa kod siap:

Ujian Python |. Mencipta ujian unit dalam python

Kod di atas menunjukkan Ujian sama ada 9 + 1 sama dengan 11. Jika anda tahu matematik asas, anda harus tahu bahawa 9+1 = 10. Oleh itu, kes ujian ini akan gagal.

Output:

Ujian Python |. Mencipta ujian unit dalam python

Anda sepatutnya telah menekanya. Gagal!

Penyelesaiannya mudah. Ubah suai kod kepada:

test_var = 9 + 2
Salin selepas log masuk

Ujian Python |. Mencipta ujian unit dalam python

Output:

Ujian Python |. Mencipta ujian unit dalam python

Uji fungsi luaran

Untuk Untuk menguji di luar fungsi, contoh sebelumnya mungkin tidak realistik. Mari gantikan nilai test_var dengan nilai daripada fungsi. Kami akan menambah pengisytiharan fungsi di bahagian atas fail.

Ujian Python |. Mencipta ujian unit dalam python

Fungsi ini menambah dua nombor. Gantikan 9 + 2 dengan panggilan fungsi add(9,2) dan jalankan kod.

Ujian Python |. Mencipta ujian unit dalam python

Setakat ini kami hanya melaksanakan satu kes ujian. Setiap fungsi/kaedah dalam TestingClass (dalam kes ini kedua-duanya adalah sama) mewakili kes ujian.

Mari tambah satu lagi kes ujian test_multiple_num_addition.

Ujian Python |. Mencipta ujian unit dalam python

NOTA: Semua kes ujian yang dibuat hendaklah mempunyai perkataan "ujian" didahului dengan nama mereka, jika tidak, pelari ujian tidak akan mengenalinya.

Kod anda sepatutnya kelihatan seperti ini:

Ujian Python |. Mencipta ujian unit dalam python

Jalankan:

Ujian Python |. Mencipta ujian unit dalam python

Ini jelas akan gagal kerana parameter fungsi hanya menerima dua argumen. Tetapi bagaimana jika kita benar-benar mahu menambah lebih banyak nombor? asterisk parameter nilai (*). Ini membolehkan anda memasukkan berbilang parameter dan membolehkan nilai disimpan sebagai tupel.

Kod sebelum pelaksanaan:

Ujian Python |. Mencipta ujian unit dalam python

Pelaksanaan:

Ujian Python |. Mencipta ujian unit dalam pythonPelaksanaan berjaya!

Meletakkan asterisk sebelum pembolehubah parameter fungsi dipanggil parameter bukan kata kunci.

Ringkasan Ujian Python |. Mencipta ujian unit dalam python

Percubaan ujian mungkin membawa keteguhan tambahan kepada kod. Ia juga boleh mengubah cara anda melakukan pembangunan. Mempunyai minda ujian memastikan lebih sedikit pepijat dalam pengeluaran dan kurang ujian manual berulang semasa pembangunan.

*Pautan asal: https://medium.com/swlh/python-testing-a8156d022eef

Atas ialah kandungan terperinci Ujian Python |. Mencipta ujian unit dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.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