這篇文章主要介紹了Python語言中異常處理測試的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
(一)異常處理
1.捕獲所有異常
try: x = 5 / 0 except: print('程序有錯誤')
2.捕獲特定異常
try: x = 5 / 0 except ZeroDivisionError as e: print('不能為0',e) except: print('其他錯誤') else: print('沒有錯誤') finally: print('關(guān)閉資源')
3.手動拋出異常
def method(): raise NotImplementedError('該方法還未被實現(xiàn)')
(二)測試
使用Python自帶的unittest模塊
example 1:測試某個函數(shù)
import unittest from example import get_formatted_name class NameTestCase(unittest.TestCase): def test_title_name(self): formatted_name = get_formatted_name('tom','lee') self.assertEqual(formatted_name,'Tom Lee') if __name__ == '__main__': unittest.main()
example 2:測試某個類
class Coder: def __init__(self,name): self.name = name self.skills = [] def mastering_skill(self,skill): self.skills.append(skill) def show_skills(self): print('掌握技能:') for skill in self.skills: print('-',skill)
import unittest from coder import Coder class CoderTestCase(unittest.TestCase): def setUp(self): self.c = Coder('Tom') self.c.mastering_skill('Python') self.c.mastering_skill('Java') def test_skill_in(self): self.assertIn("Python",self.c.skills) def tearDown(self): print('銷毀') if __name__ == '__main__': unittest.main()
常用的斷言方法:
import unittest person ={'name':'Tom','age':30} numbers = [1,23,3,4,4,54] s = 'hello world python' class TestAssert(unittest.TestCase): def test_assert_method(self): self.assertEqual('Tom',person.get('name')) self.assertTrue('hello' in s) self.assertIn('hello',s) #self.assertEqual(3.3,1.1+2.2) self.assertAlmostEqual(3.3,1.1+2.2) #判斷在內(nèi)存中是否是同一個引用 self.assertIs(True+1,2) self.assertIsNone(None) #判斷是否是某個類型的實例 self.assertIsInstance(numbers[0],int) #是否大于 self.assertGreater(5,4) if __name__ == '__main__': unittest.main()
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python語言中異常處理測試的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
名稱欄目:Python語言中異常處理測試的示例分析-創(chuàng)新互聯(lián)
分享URL:http://jinyejixie.com/article30/dhdopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、搜索引擎優(yōu)化、域名注冊、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計公司、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容