溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python語言中異常處理測試的示例分析

發(fā)布時間:2021-08-03 12:23:20 來源:億速云 閱讀:146 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了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('關閉資源')

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語言中異常處理測試的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI