Python中unittest模块做UT(单元测试)使用实例
待测试的类(Widget.py)
# Widget.py # Python 2.7.6 class Widget: def __init__(self, size = (40,40)): self.size = size def getSize(self): return self.size def reSize(self,width,height): if width <0 or height < 0: raise ValueError, 'illegal size' else: self.size = (width,height) return self.size def dispose(self): pass
测试类(Auto.py)
# coding=utf8 # Auto.dy # Python 2.7.6 from Widget import Widget #导入测试类模块Widget import unittest #导入unittest模块 class WidgetTestCase(unittest.TestCase): #让所有执行测试的类都继承于TestCase类,可以将TestCase看成是对特定类进行测试的方法的集合 #在setUp()方法中进行测试前的初始化工作。 def setUp(self): self.widget = Widget() #并在tearDown()方法中执行测试后的清除工作,setUp()和tearDown()都是TestCase类中定义的方法。 def tearDown(self): self.widget = None #测试Widget类中getSize方法 def testgetSize(self): print "Test GetSize" #对Widget类中getSize()方法的返回值和预期值进行比较,确保两者是相等的, #assertEqual()也是TestCase类中定义的方法。 self.assertEqual(self.widget.getSize(), (40, 40)) #测试Widget类中reSize方法 def testreSize(self): print "Test Resize" #对Widget类中reSize()方法的返回值和预期值进行比较,确保两者是相等的。 #assertEqual()也是TestCase类中定义的方法。 self.assertEqual(self.widget.reSize(50,100),(50,100)) #提供名为suite()的全局方法,PyUnit在执行测试的过程调用suit()方法来确定有多少个测试用例需要被执行, #可以将TestSuite看成是包含所有测试用例的一个容器。 def suite(): suite = unittest.TestSuite() suite.addTest(WidgetTestCase("testgetSize"))#往此添加需要测试的方法testgetSize() suite.addTest(WidgetTestCase("testreSize")) #往此添加需要测试的方法testreSize() return suite if __name__ == "__main__": unittest.main(defaultTest = 'suite') #在主函数中调用全局方法.
测试结果:
D:\Python>python27 Auto.py Test GetSize .Test Resize . ------------------------------ Ran 2 tests in 0.004s OK
总结:
1。第一步:先写好测试类
2。第二步:导入unittest模块及测试的类,运用setup()方法做测试前的准备工作,如建立数据库连接,运用teardown()方法做测试后的清除工作,如取消数据库的链接,再对类中的方法逐一做测试。
3。第三步: 写suite()的全局方法,将要测试的方法,一一加入。
测试结果,有几个测试用例就有几个. 最后显示OK,表示通过。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Tiada fungsi jumlah terbina dalam dalam bahasa C, jadi ia perlu ditulis sendiri. Jumlah boleh dicapai dengan melintasi unsur -unsur array dan terkumpul: Versi gelung: SUM dikira menggunakan panjang gelung dan panjang. Versi Pointer: Gunakan petunjuk untuk menunjuk kepada unsur-unsur array, dan penjumlahan yang cekap dicapai melalui penunjuk diri sendiri. Secara dinamik memperuntukkan versi Array: Perlawanan secara dinamik dan uruskan memori sendiri, memastikan memori yang diperuntukkan dibebaskan untuk mengelakkan kebocoran ingatan.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Walaupun berbeza dan berbeza berkaitan dengan perbezaan, ia digunakan secara berbeza: berbeza (kata sifat) menggambarkan keunikan perkara itu sendiri dan digunakan untuk menekankan perbezaan antara perkara; Berbeza (kata kerja) mewakili tingkah laku atau keupayaan perbezaan, dan digunakan untuk menggambarkan proses diskriminasi. Dalam pengaturcaraan, berbeza sering digunakan untuk mewakili keunikan unsur -unsur dalam koleksi, seperti operasi deduplikasi; Berbeza dicerminkan dalam reka bentuk algoritma atau fungsi, seperti membezakan ganjil dan bahkan nombor. Apabila mengoptimumkan, operasi yang berbeza harus memilih algoritma dan struktur data yang sesuai, sementara operasi yang berbeza harus mengoptimumkan perbezaan antara kecekapan logik dan memberi perhatian untuk menulis kod yang jelas dan mudah dibaca.

! X Memahami! X adalah bukan operator logik dalam bahasa C. Ia booleans nilai x, iaitu, perubahan benar kepada perubahan palsu, palsu kepada benar. Tetapi sedar bahawa kebenaran dan kepalsuan dalam C diwakili oleh nilai berangka dan bukannya jenis Boolean, bukan sifar dianggap sebagai benar, dan hanya 0 dianggap sebagai palsu. Oleh itu ,! X memperkatakan nombor negatif sama seperti nombor positif dan dianggap benar.

Tiada fungsi jumlah terbina dalam dalam C untuk jumlah, tetapi ia boleh dilaksanakan dengan: menggunakan gelung untuk mengumpul unsur-unsur satu demi satu; menggunakan penunjuk untuk mengakses dan mengumpul unsur -unsur satu demi satu; Untuk jumlah data yang besar, pertimbangkan pengiraan selari.

Halaman H5 perlu dikekalkan secara berterusan, kerana faktor -faktor seperti kelemahan kod, keserasian pelayar, pengoptimuman prestasi, kemas kini keselamatan dan peningkatan pengalaman pengguna. Kaedah penyelenggaraan yang berkesan termasuk mewujudkan sistem ujian lengkap, menggunakan alat kawalan versi, kerap memantau prestasi halaman, mengumpul maklum balas pengguna dan merumuskan pelan penyelenggaraan.

Menyalin dan menampal kod itu tidak mustahil, tetapi ia harus dirawat dengan berhati -hati. Ketergantungan seperti persekitaran, perpustakaan, versi, dan lain -lain dalam kod mungkin tidak sepadan dengan projek semasa, mengakibatkan kesilapan atau hasil yang tidak dapat diramalkan. Pastikan untuk memastikan konteksnya konsisten, termasuk laluan fail, perpustakaan bergantung, dan versi Python. Di samping itu, apabila menyalin dan menampal kod untuk perpustakaan tertentu, anda mungkin perlu memasang perpustakaan dan kebergantungannya. Kesalahan biasa termasuk kesilapan laluan, konflik versi, dan gaya kod yang tidak konsisten. Pengoptimuman prestasi perlu direka semula atau direkodkan mengikut tujuan asal dan kekangan Kod. Adalah penting untuk memahami dan debug kod yang disalin, dan jangan menyalin dan tampal secara membuta tuli.

! X Dalam bahasa C secara tersirat menukar x ke nilai boolean, dan kemudian inverts: 0 hingga palsu (0), bukan 0 hingga benar (1) melakukan tidak logik pada nilai yang ditukar, 0 perubahan 1, 1 perubahan 0 ke int, 0 atau 1
