一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python語言異常處理測試過程解析

Python語言異常處理測試過程解析

2020-05-04 12:02sowhat1943 Python

這篇文章主要介紹了Python語言異常處理測試過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Python語言異常處理測試過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

(一)異常處理

1.捕獲所有異常

?
1
2
3
4
try:
  x = 5 / 0
except:
  print('程序有錯誤')

2.捕獲特定異常

?
1
2
3
4
5
6
7
8
9
10
try:
  x = 5 / 0
except ZeroDivisionError as e:
  print('不能為0',e)
except:
  print('其他錯誤')
else:
  print('沒有錯誤')
finally:
  print('關閉資源')

3.手動拋出異常

?
1
2
def method():
raise NotImplementedError('該方法還未被實現')

(二)測試

使用Python自帶的unittest模塊

example 1:測試某個函數

?
1
2
3
4
5
6
7
8
9
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:測試某個類

?
1
2
3
4
5
6
7
8
9
10
11
12
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)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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()

常用的斷言方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)
    #判斷在內存中是否是同一個引用
    self.assertIs(True+1,2)
    self.assertIsNone(None)
    #判斷是否是某個類型的實例
    self.assertIsInstance(numbers[0],int)
    #是否大于
    self.assertGreater(5,4)
if __name__ == '__main__':
  unittest.main()

 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/gdy1993/p/12154049.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 香蕉久久久久久狠狠色 | 久草热8精品视频在线观看 久草草在线视视频 | 九九久久精品 | 国产日日干 | 欧美亚洲国产精品久久久 | 男女天堂 | 久久伊人久久 | 4s4s4s4s色大众影视 | 精品九九视频 | 千金肉奴隶免费观看 | 国产清纯白嫩大学生正在播放 | 亚洲欧美一区二区三区不卡 | 国产动作大片 | 精品一区久久 | 国产99精品免费视频看6 | 范冰冰a级一级特级毛片 | www.精品视频 | 国产美女在线一区二区三区 | julia ann多人乱战 | 亚州笫一色惰网站 | 91高清在线视频 | 四虎影业 | 亚洲上最大成网人站4438 | 91视频破解 | 国产精品亚洲片在线va | 欧美另类bbbxxxxx另类 | 国产免费午夜 | 精品乱lun小说 | 丝瓜秋葵番茄绿巨人在线观看 | 亚洲精品综合一二三区在线 | 6080伦理久久精品亚洲 | 99在线视频精品费观看视 | 久久香蕉电影 | 精品国产理论在线观看不卡 | 天堂漫画破解版 | 青青草原伊人网 | 97视频人人 | 香蕉精品国产高清自在自线 | 天天爽天天操 | dasd-698黑人在线播放 | 男人叼女人的痛爽视频免费 |