本部分学习Python代码调试和测试方法。可用的代码调试方法有:
- print打印
- logging记录
- pdb调试/pdb.settrace()
- unittest单元测试等。
样例代码如下:
# 程序调试
# 1.用断言
import pdb
def div(s):
n = int(s)
assert n != 0, "n is zero"
return 10 / n
div(1)
# 可以在启动时增加 -O参数关闭断言
# 2.用logging
import logging
s = '5'
n = int(s)
logging.basicConfig(level=logging.INFO)
logging.info('n = %d' % n)
print(10 / n)
# 3. 用pdb.set_trace(),执行到此,进入pdb模式
# pdb.set_trace()
s = '0'
n = int(s)
logging.basicConfig(level=logging.INFO)
logging.info('n = %d' % n)
# print(10 / n)
# 4. 单元测试unittest
import unittest
class Dict(dict):
def __init__(self, **kw):
super().__init__(**kw)
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Dict' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
# 从unittest.TestCase继承。
# 以test开头的方法就是测试方法
class unitTestDemo(unittest.TestCase):
def test_init(self):
d = Dict(a=1, b='test')
print("testing...")
self.asse