Python

Tutorial Python Unittest

Tutorial Python Unittest

Pengujian unit adalah kaedah pengujian yang digunakan dalam kejuruteraan perisian untuk unit individu mana-mana kod. Pengguna boleh membuat ujian individu untuk menentukan status sumber dan berapa kod yang sesuai digunakan. Dengan cara ini pengguna dapat menguji kualiti kod.

Pengujian dilakukan setelah proses pengembangan selesai. Pengguna juga dapat memulai pengujian ketika skrip ujian hendak diverifikasi berdasarkan kriteria pengujian. Pembangun diharapkan dapat menulis jenis manual kod sumber. Secara umumnya, menulis kod pengujian unit secara manual adalah tugas yang sibuk tetapi di Python, ia dilakukan dengan menggunakan fungsi bawaan yang disebut unittest.

Tidak gembira

Ujian di Python dilakukan dengan kerangka paling tidak. Ujian unit menjadikan kodnya selamat dan mudah digunakan pada masa akan datang. Pengguna biasanya tidak dapat meramalkan kes-kes ini tetapi dapat mengatasinya dengan mudah. Yang paling tidak menarik ialah keseluruhan modul, fungsi tertentu, dan keseluruhan antara muka (kelas / modul).

Cara menulis ujian unit untuk kod anda?

Untuk menulis ujian unit untuk kod anda, selalu mulakan dengan unit terkecil yang dapat diuji dari keseluruhan kod anda dan kemudian beralih ke unit lain. Dengan cara ini, anda akan memeriksa bagaimana unit terpilih terkecil berinteraksi untuk membina keseluruhan ujian unit.

Kerangka pengujian unit Python dibentuk dengan mengambil kira Junit java. Ia mempunyai ciri yang sama seperti pengujian unit yang dilakukan dalam pelbagai jenis bahasa lain. Kerangka ujian unit di Python membantu dalam pengujian automasi, mengatur perkongsian, gabungan banyak ujian menjadi satu set besar, dan ujian bebas

Contoh:

Sekarang, dalam contoh, kita memeriksa kod untuk mengetahui jumlah dalam kod Python menggunakan fungsi sum (). Jawapan untuk penjumlahan ini mestilah 12, yang betul.

>>> tegaskan jumlah ([2, 4, 6]) == 12, "Harus sama dengan 12"

Sebaliknya, jika kita cuba menulis nilai output yang salah, yang jumlahnya () tidak benar, hasilnya akan gagal. Ia akan mengembalikan AssertionError. Output yang dinyatakan oleh kami salah iaitu 12, dan output sebenarnya mestilah 6 oleh itu, ia mengembalikan kesalahan ini.

>>> tegaskan jumlah ([2, 2, 2]) == 12, "Harus sama dengan 12"

Sekarang, daripada menguji pada REPL, kami akan memasukkan fail Python baru dan menamakannya ujian_sum.py

>> def testValue_sum ():
tegaskan jumlah ([2, 4, 6]) == 12, "Harus sama dengan 12"
jika __nama__ == "__main__":
testValue_sum ()
cetak ("Semuanya telah dilalui dengan betul")

Setelah menulis kes ujian, anda boleh mengakses direktori yang mempunyai test_sum.fail py, dan kemudian taip:

$ python test_sum.py

Pengeluaran:

Nilai output, jika serupa dengan yang ditampilkan, akan menyetujui nilai yang betul.

Mari kita buat fail lain untuk .py untuk menguji jumlahnya. Contohnya seperti yang ditunjukkan dalam kod dan dapat digunakan sebagai contoh dengan menyalin:

def testValue_sum ():
tegaskan jumlah ([2, 4, 6]) == 12, "Harus sama dengan 12"
def testValue_sum_tuple ():
tegaskan jumlah ((1, 1, 1)) == 6, "Harus sama dengan 6"
jika __nama__ == "__main__":
testValue_sum ()
testValue_sum_tuple ()
cetak ("Semuanya telah dilalui dengan betul")

Kali ini kami akan menamakan semula fail tersebut ujian_sum.py 

Blok kod pertama betul, sedangkan blok kod kedua salah dan mempunyai ralat, jadi output kami akan kembali sama.

Sekarang, kita akan kembali ke direktori projek, di mana kita menyimpannya .fail py, dan kemudian menguji fail menggunakan arahan berikut:

$ python test_sum.py

Pengeluaran:

Kali ini kerana kod input mengalami kesalahan, diharapkan dapat mengembalikan kesalahan Tegasan sebagai tindak balas.

Contoh penggunaan yang paling tidak menarik:

Keperluan yang paling menarik ialah pengguna dapat memasukkan ujian mereka ke kelas sebagai kaedah yang berbeza, pengguna dapat menggunakan rangkaian kaedah penegasan, dan kelas TestCase dapat digunakan sebagai pengganti pernyataan penegasan.

Pengguna boleh menukar contoh yang dibincangkan pada babak sebelumnya menjadi kes ujian yang paling tidak menarik.

Pertama, import perpustakaan unitest. Seterusnya, anda perlu membuat TestSum dari pelbagai kelas.

Buat fail baru untuk kod yang dibincangkan di bawah:

import tidak menarik
TestSum kelas (paling tidak menarik.Ujian Kes):
def testValue_sum (diri):
diri.assertEqual (jumlah ([2, 4, 6]), 12, "Harus sama dengan 12")
def testValue_sum_tuple (diri):
diri.assertEqual (jumlah ((1, 1, 1)), 6, "Harus sama dengan 6")
jika __nama__ == '__main__':
tidak senang.utama ()

Setelah anda melaksanakan perintah ini, outputnya mempunyai titik. Ini bermaksud kejayaan dan F bermaksud kegagalan.

Jadi, kita mempunyai kejayaan dan yang lain adalah kegagalan.

Pengeluaran:

Menulis Ujian Pertama:

Buat folder projek baru dan kemudian buat folder baru, kita akan memanggilnya sum_file. Di dalamnya, buat fail dan beri nama, __init__.py.  Jadikan folder projek seperti ini:

projek /

└── jumlah_file /
└── __init__.py

Maka anda perlu membuka my_sum / __ init__.py dan buat jumlah fungsi baru (). Ia akan berulang (senarai, tuple, atau set) untuk menambahkan banyak nilai:

def sum (arg):
total_ValueCalculated = 0
untuk val in arg:
total_ValueDikira + = val
pulangan total_ValueDikira

Seterusnya, anda perlu membuat a ujian fail. Mulakan dengan menulis ujian, dan buat fail ujian yang dipanggil testFile.py. Untuk mengimport aplikasi, dan mesti diuji, letakkan fail testFile.py di atas folder pakej anda. Berikut adalah gambaran keseluruhan direktori anda:

projek /

├── jumlah_file /
│ __ __init__.py
|
└── testFile.py

Seperti yang telah dibincangkan sebelumnya untuk menguji kod, anda boleh menggunakan perintah berikut di tetingkap terminal / baris perintah:

$ python -m ujian paling tidak

Kesimpulannya

Artikel itu membincangkan proses pengujian unit di Python. Pengujian adalah salah satu ciri berguna perisian kejuruteraan yang mampu membahagikan kod menjadi potongan yang lebih kecil, dan kemudian mencubanya satu persatu. Pengguna juga dapat menyusun keseluruhan sampel ujian / kod unit menjadi satu koleksi besar. Unittest adalah satu fungsi yang digunakan di Python untuk memudahkan penggunaan ujian.

Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...
Tutorial Unity3D
Pengenalan Unity 3D Unity 3D adalah enjin pengembangan permainan yang kuat. Ini adalah platform silang yang memungkinkan anda membuat permainan untuk ...