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
閱讀更多 寒江雪orz 的文章