第十三章 錯誤、調試和測試

Python調試的方式有以下幾種方式,本章著重介紹pdb方式。

1、print #在關鍵地方輸出

2、assert #使用斷言

3、logging #藉助日誌模塊

4、pdb #使用pdb信息調試

PDB 調試

使用PDB調試,可以類似於C++調試一樣,隨時查看變量信息,進行單步運行。目前主流的IDE會集成此調試方式。

1、以 -m pdb 命令行啟動Python解釋器,進入調試模式

2、進入調試模式之後,l 查看源碼,n下一步,c繼續

3、可以設置斷點,需要在代碼中操作:

import pdb #導入pdb模塊

pdb.set_trace() #設置斷點的位置,運行到該位置會自動停止。

單元測試

單元測試是用來對一個模塊、一個函數或者一個類來進行正確性檢驗的測試工作。為了編寫單元測試,需要引入Python自帶的unittest模塊。

import unittest #引入unittest模塊

編寫單元測試時,我們需要編寫一個測試類,從unittest.TestCase繼承。以test開頭的方法就是測試方法,不以test開頭的方法不被認為是測試方法,測試的時候不會被執行。

對每一類測試都需要編寫一個test_xxx()方法。

class TestModule(unittest.TestCase): #編寫測試類,必須繼承自 unittest 模塊的 TestCase

def test_func(self): #針對需要測試的模塊寫測試方法,必須以 test 開頭

block

其中,有兩個有用的方法,在每個test_xxx()方法之前前後調用。可以創建對象,建立數據庫連接等操作。

setUp(self):

tearDown(self):

unittest提供以下兩種方式:

1、斷言測試,unittest提供了很多斷言測試的方法

2、斷言異常,使用 assertRaise 拋出一個異常

with self.assertRaise(ExceptionType):

block

運行單元測試,支持兩種方式:

方式一:增加觸發入口

if __name__ == "__main__":

unittest.main()

方式二:啟動測試模塊,以 -m unittest 參數調用Python解釋器

python -m unittest module.py


分享到:


相關文章: